Instalando o Docker, Docker Swarm, Docker Registry e Portainer

Instalando o Docker

O Docker pode ser instalado no Ubuntu seguindo o seguinte tutorial:

https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/

Para instalá-lo em outras distribuições GNU/Linux acesse o link abaixo.

https://docs.docker.com/engine/installation/

Iniciando o Swarm (Cluster Docker)

O swarm já é instalado junto com o Docker. Inicie o swarm com o comando abaixo.

docker swarm init --advertise-addr IP_SERVIDOR

A variável IP_SERVIDOR deve ser trocada pelo endereço IP do host no qual o tutorial está sendo executado. Ao iniciar o swarm, ele usará o host como sendo o primeiro node manager do cluster Docker.

Saiba mais sobre o docker Swarm em: https://docs.docker.com/engine/swarm/

Iniciando o Docker Registry

Inicie o conteiner que contém o Registry com os comandos abaixo:

mkdir -p /opt/docker/registry/data
mkdir -p /opt/docker/certs

Copie ou crie o certificado e chave privada para /opt/docker/certs. A parte de criação do certificado não será mostrada nesse tutorial. Hipoteticamente o nome dos arquivos será dockerregistry.crt (para o certificado) e dockerregistry.key (para a chave privada do certificado).

Baixe a imagem do Docker Registry.

docker pull registry:2

Inicie o conteiner do Docker Registry.

docker run -d -p 5000:5000 --restart=always --name registry -v /opt/docker/certs:/certs -v /opt/docker/registry/data:/var/lib/registry -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/dockerregistry.crt  -e REGISTRY_HTTP_TLS_KEY=/certs/dockerregistry.key registry:2

Usando os comandos acima, o conteiner do Registry será iniciado como serviço. Mesmo que o conteiner pare, ele será reiniciado.
Como no conteiner, os dados são perdidos quando o mesmo é removido, os dados do Registry serão persistidos no host storage no diretório /opt/docker/registry/data. Os dados do certificado serão persistidos em /opt/docker/certs.

O Docker Registry é uma alternativa ao Docker Hub para hospedagem de imagens privadas de forma gratuita. Saiba mais sobre o Registry em: https://docs.docker.com/registry/deploying/

O registry ficará acessível em: https://ip-servidor:5000/

Iniciando o Portainer (Interface Web para o Docker)

Inicie o conteiner que contém a interface web para o Docker com os comandos abaixo:

mkdir -p /opt/docker/portainer/data
docker pull portainer/portainer

Portainer com HTTPS (recomendado):

docker service create --name portainer --publish 9000:9000 --constraint 'node.role == manager' --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock --mount type=bind,src=/opt/docker/portainer/data,dst=/data --mount type=bind,src=/opt/docker/certs,dst=/certs portainer/portainer -H unix:///var/run/docker.sock --ssl --sslcert=/certs/dockerregistry.crt --sslkey=/certs/dockerregistry.key

Portainer com HTTP (não recomendado):

docker service create --name portainer --publish 9000:9000 --constraint 'node.role == manager' --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock --mount type=bind,src=/opt/docker/portainer/data,dst=/data portainer/portainer -H unix:///var/run/docker.sock

Usando os comandos acima, o conteiner do Portainer será iniciado como serviço. Mesmo que o conteiner pare, ele será reiniciado.
Como no conteiner, os dados são perdidos quando o mesmo é removido, os dados do Portainer serão persistidos no host storage no diretório /opt/docker/portainer/data. Saiba mais sobre o Portainer em: http://portainer.io

O portainer ficará acessível em: https://ip-servidor:9000/ (com HTTPS) ou http://ip-servidor:9000/ (com HTTP)

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *