Atualizado em: 25 de julho de 2022
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.
sudo 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:
sudo mkdir -p /docker/registry/data; sudo mkdir -p /docker/certs;
Copie ou crie o certificado e chave privada para /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 --name registry \ -p 5000:5000 \ --restart=always \ -v /docker/certs:/certs \ -v /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 /docker/registry/data. Os dados do certificado serão persistidos em /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:
sudo mkdir -p /docker/portainer/data;
docker pull portainer/portainer;
Portainer com HTTPS (certificado gerado automaticamente):
docker run -d \
-p 8000:8000 \
-p 9443:9443 \
--name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /docker/portainer/data:/data \
portainer/portainer-ce:latest
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 /docker/portainer/data. Saiba mais sobre o Portainer em: http://portainer.io
O portainer ficará acessível em: https://ip-servidor:9443/ (com HTTPS) ou http://ip-servidor:8000/ (com HTTP)
Boa Tarde,
Como efetuar uma instalação semelhante para outras aplicações como o WordPress utilizando o ssl?
Obrigado,
Boa tarde, Victor!
Eu ainda não fiz esta configuração, mas pesquisa por outros tutoriais na Internet que outras pessoas devem ter documentado como fazer isso.
Abraço.