1.4 Configuração do Ambiente - Docker
Last updated
Last updated
Um dos grandes desafios no uso de tecnologias voltadas para o desenvolvimento de aplicações diz respeito à configuração de ambientes para o desenvolvimento e execução do produto de software produzido. A cada novo colaborador que chega na organização, a preparação do ambiente de trabalho pode consumir um tempo significativo. Conforme visto na Seção 1.2, o uso de máquinas virtuais simplificou bastante esse processo, mas as máquinas virtuais ainda sofrem do problema da exigência de um SO completo em cada uma delas para prover os serviços necessários. A evolução das mesmas deu origem ao conceito de contêineres, os quais possuem capacidades semelhantes às das máquinas virtuais, com a vantagem de serem mais "leves" e demandarem menos recursos de hardware para sua execução.
A tecnologia de contêineres surgiu para facilitar essa atividade e simplificar não apenas a configuração do ambiente de desenvolvimento, como também o ambiente de execução da aplicação. Utiliza-se muito hoje o termo dockerização de aplicação para fazer referência a uma aplicação que não era executada em contêineres e passa a ser após a dockerização.
O primeiro passo para dar início a esse processo é instalar as ferramentas do Docker. Nesta seção veremos como instalar e configurar o ambiente do Docker + Docker Compose que será utilizado nos capítulos seguintes. Apesar do Docker poder ser instalado no ambiente Windows, é altamente recomendável que você faça uso da plataforma no ambiente Linux por este ser mais estável e alinhado com a filosofia do Docker.
Faça o download do instalador do Docker Desktop aqui;
Abra o instalador e siga as instruções (Importante: deixe a opção "Enable Hyper-V Windows Features" ativa!);
Quando o processo de instalação terminar, reinicie o computador;
Ao reiniciar, abra o Docker Desktop para poder iniciar o daemon do docker;
Tanto o Docker quanto o Docker Compose estarão instalados e ativos na sua máquina, e podem ser testados abrindo uma janela do Powershell e inserindo comandos como docker run hello-world
.
Obs: No Windows, o Docker Desktop também vem com um pequeno tutorial para começar a utilizar a ferramenta, pode ser útil.
Faça o download do instalador do Docker Desktop aqui
Instale normalmente, como qualquer aplicativo Mac (duplo-clique no arquivo .dmg)
Após instalação, execute-o no menu de aplicativos (será necessário autorizar e digitar sua senha de administrador)
Assim que o Docker terminar de iniciar, seu ícone ficará fixo na barra do sistema
A partir deste momento, a instalação está completa. É possível testar abrindo uma janela do terminal e rodando o comando docker run hello-world
Obs: No Mac, o Docker Desktop também vem com um pequeno tutorial para começar a utilizar a ferramenta, pode ser útil.
Uma boa fonte de informação para a instalação do Docker é o seu próprio web site. Os passos da instalação no Ubuntu apresentados abaixo foram extraídas de lá, nas opções Install Docker Engine on Ubuntu e Install Docker Dekstop on Ubuntu.
Os passos a seguir, correspondem a execução dos comandos para a instalação utilizando-se os repositórios de pacotes da própria Docker Inc.
Remova instalações anteriores com
Configure os repositórios
Adicione a GPG Key oficial da Docker
Verificação da identididade Docker. A fingerprint exibida deve ser9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
A saída produzida pelo comando acima deve ser:
Configuração do repositório stable como fonte para a instalação dos pacotes
Utilize os comandos abaixo para a instalação do docker
e docker-compose
Testando a instalação
Observa-se no comando acima que o docker está instalado na versão 19.03.12, entretanto, as configurações ainda não estão completas. Continue nos passos abaixo para finalizar as configurações para que a mensagem "Cannot connect to the Docker daemon at tcp://127.0.0.1:2375. Is the docker daemon running?" não seja mais exibida.
Habilitar o uso do Docker para usuários sem privilégio de root. Após a execução do comando abaixo, o ideal é fazer o logoff e logar novamente na conta para habilitar as alterações nos grupos do Linux
Após realizar o logout ou reinicializar a máquina, para verificar se você foi adicionado ao grupo, utilize o comando abaixo
O resultado, deve ser parecido com o apresentado abaixo. Observe que o usuário faz parte do grupo docker
Configure o Docker para inicializar no boot da máquina
Caso deseje desabilitar esse comportamento, basta executar
Configurar acesso remoto por meio do arquivo de unidade do systemd
Se após a instalação você observar que apareceu uma mensagem do tipo "Cannot connect to the Docker daemon at tcp://127.0.0.1:2375. Is the docker daemon running?", será necessária a execução dos passos abaixo.
Use o comando abaixo para sobrescrever o arquivo docker.service
Cole e salve o conteúdo abaixo no arquivo
Em seguida, reinicialize o systemctl
Reinicialize o serviço do docker
Chegando até aqui, recomendo a reinicialização da máquina e o teste do Docker com a execução dos comandos a seguir
Verificando o status da execução do docker daemon
Como resultado, esse comando irá apresentar algo parecido com o mostrado na imagem a seguir
Verificação da versão do Docker em execução. Observe que após todas as configurações acima, não aparece mais a mensagem de erro mostrada acima Cannot connect to the Docker daemon at tcp://127.0.0.1:2375. Is the docker daemon running?" e a saída do comando é correta conforma ilustrada na imagem abaixo.
Finalmente, podemos executar o Hello World do Docker com o comando abaixo. A imagem a seguir ilustra a saída resultante do comando.
O comando acima irá produzir como resultado:
Se você chegou até aqui com sucesso, o seu ambiente está pronto para a continuidade do nosso curso. Do contrário, poste sua dúvida de instalação no nosso Fórum que teremos o maior prazer em ajudar.
Para aqueles que desejarem, há uma máquina virtual Linux Mint 21.1 para VirtualBox, com o ambiente configurado, incluíndo o Python e o Docker. O download da mesma pode ser feito a partir do link https://drive.google.com/file/d/1Fk9JoIUM202J2IUgPvgF-y7vwa0tH9IW/view?usp=sharing. Após o download e descompactação, para fazer uso da imagem basta escolher a opção Arquivo->Importar Appliance do VirtualBox. Login: mlops e Senha: mlops.
Em princípio, conforme documentação, ao instalar o Docker Desktop sozinho, o Docker Engine também deveria ser instalado. Entretanto, na minha distribuição baseada em Ubuntu, Linux Mint 21.1, o Docker Desktop só funcionou conforme desejado se instalasse antes o Docker Engine.
Desse modo, para os que desejarem tentar instalar apenas o Docker Desktop, os passos detalhados estão disponíveis no link Install Docker Desktop on Ubuntu.
No exemplo apresentado aqui, uma vez que o Docker Engine já se encontra instalado, a instalação do Docker Desktop se resume a baixar a última versão do arquivo de instalação docker-desktop--.deb
(disponível no site acima) realizar a instalação.
No ato da escrita desta versão do livro, o instalador estava a versão: docker-desktop-4.16.2-amd64.deb
. Desse modo, para realizar a instalação desse pacote, basta executar o comando abaixo:
No terminal, instale os pacotes docker
e docker-compose
com sudo pacman -S docker docker-compose
Rode o comando sudo usermod -aG docker $USER
para adicionar o usuário atual ao grupo do docker e então poder rodar o comando sem ser root;
Feche o terminal e abra de novo (talvez seja necessário reiniciar o computador para finalizar a instalação e ativar o daemon do docker);
Rode o comando docker run hello-world
para confirmar que a instalação aconteceu corretamente.