Skip to content

Construindo meu ambiente Docker

Esse artigo rápido quero servir de guia de como você pode montar um ambiente local usando os containers do docker e seguir como ambiente de desenvolvimento, isso é interessante principalmente se você for responsável em subir as imagens para repositório de imagens da sua empresa, ou queira testar já no ambiente de containers.

Para esse artigo eu usei um arquivo Dockerfile um para o app enquanto uso redis e banco de dados usando imagens padrão. Mas, como o objetivo é ser um guia, não vou disponibilizar o arquivo do Dockerfile e docker-compose.yml.

Fazendo o build do seu Dockerfile

Para fazer o build do seu app é necessário fazer um build da imagem, abaixo o comando para fazer o build no diretório do arquivo Dockerfile:

docker build -t app:latest .

Com o comando acima você vai ver todos os steps configurados no Dockerfile sendo executados, assim você tem uma imagem chamada “app” na versão latest que você pode ver usando o comando abaixo:

docker images

Com isso já é possível trabalhar com o docker-compose.

Usando Docker-compose

Para testar sua imagem você pode usar o docker-compose, no caso uso muito usando o nome do postgres igual ao nome do host do RDS (caso esteja usando). O arquivo docker-compose.yml contém 3 containers que constitui a base do projeto que fim; o app, um servidor redis, um servidor de bd postgres. Para executar o arquivo do compose é importante ter feito o procedimento anterior com o Dockerfile, pois ele é necessário para executar o processo. Já no caso do redis e o postgres foi usado uma versão da imagem do docker hub. Para executar o arquivo é necessário executar o comando abaixo:

docker-compose up -d

Com esse comando ele vai criar os containers e não vai bloquear o terminal de comando. Para acompanhar a subida no compose você pode usar os comandos abaixo.

Ver imagens ativas

docker ps

Ver imagens criadas ativas e inativas

docker ps -a

Entrar no container

docker exec -it container_alias bash

Executar um comando no container sem entrar no mesmo

 docker exec -it container_alias <comando></comando>

Observações: Caso queira trabalhar com volumes para alterar em realtime o código ou persistir o banco de dados na máquina local, é recomendado adicionar no docker-compose os volumes para o /src no seu app e /var/lib/postgresql/data no caso do postgres.

No caso na hora de desenvolver eu faço um clone no local onde mapeio o volume do app, como utilizo python, quando faço a alteração naquela pasta ele automaticamente vai para o container, assim agilizo meu desenvolvimento.

Bom a ídeia era ser uma artigo simples, espero que gostem, qualquer dúvida podem deixar sua dúvida nos comentaŕios que vou tentar ajudar.

Published inferramentas