Administrando um Container

Olá Pessoal!

Hoje vamos fazer algo um pouco mais avançado no Docker, aprenderemos um pouco mais sobre os comandos no Docker, e como podem nos ajudar. Antes vamos definir um plano de ação: Temos um container com Apache dentro, precisamos saber:

1 – Como saber quais containers possuo?

2 – Quais foram os últimos logs desse container?

3 – Em que porta está executando o container?

4 – Que comando tenho que executar para parar e iniciar o container?

5 – Como sei que o container está no ar?

FÁCIL:

Para criar/iniciar um container você pode utilizar o seguinte comando:

docker run -d -p 80:80 httpd

Esse comando fará com que seja iniciado um container utilizando uma imagem pronta do Apache, caso a imagem não seja encontrada localmente, o próprio Docker realizará o download dessa imagem através de seus repositórios oficiais. Ele atribuirá a porta 80 do host para o container, ou seja, quando acesso a porta 80 do host, o que será apresentado é o site que encontra-se dentro do container.

Podemos ainda, mapear uma pasta do host para dentro do container, isso fará com que o container compartilhe com o host uma determinada pasta, veja o comando:

docker run -d -p 80:80 -v /var/www/html:/var/www/html httpd

Por padrão, a pasta mapeada recebe permissão de leitura e escrita, mas é possível fazer com que esse mapeamento seja somente leitura, para isso basta adicionar :ro no final, veja:

docker run -d -p 80:80 -v /var/www/html:/var/www/html:ro httpd

Isso fará com que o container não possa adicionar ou escrever dentro da pasta compartilhada. Agora voltando ao nosso plano de ação, visto que já sabemos como iniciar um container.

1 – Como saber quais containers possuo?

Você pode executar o comando: docker ps -a, isso fará com que seja listado todos os containers que você possui no host onde está sendo executado o comando (ou onde está apontando o Docker Client)

2 – Quais foram os últimos logs desse container?

Na listagem do comando acima, poderá ser visto o id do container, tendo essa informação, basta executar o comando: docker logs containerid . Esse comando retornará na tela os últimos eventos ocorridos dentro do container (mais para frente veremos a diferença nos outputs de logs para um container)

3 – Em que porta está executando o container?

A forma mais simples de saber isso é executando o comando: docker ps, esse comando retornará várias informações dos containers que estão running no momento, entre essas informações podemos capturar em qual porta do host o container está ‘ouvindo’.

4 – Que comando tenho que executar para parar e iniciar o container?

Isso é simples, docker stop e docker start, há opções mais drásticas como docker kill, mas esse último é recomendado apenas em último caso, pois o mesmo fará com que o container seja parado de forma abrupta, podendo causar o corrompimento do filesystem do mesmo.

5 – Como sei que o container está no ar?

O comando docker ps retornará apenas os containers que estão ativos, é claro que apenas isso não quer dizer que sua aplicação/ambiente está funcionando corretamente, um forma de testar isso é acessando seu ambiente de fora, por exemplo, no comando que executamos acima: docker run -d -p 80:80 httpd o mesmo fará com que seja alocado a porta 80 do host para o container, isso quer dizer que caso eu acesse: http://ipdohost estarei acessando na verdade a porta 80 que está dedicada ao container, com isso estarei acessando o site que encontra-se dentro do container, o site acessou? Perfeito, seu container está no ar.

Espero que essas dicas o ajudem a entender um pouco mais o funcionamento de um container, essas são algumas tarefas administrativas que possivelmente serão as mais utilizadas durante o seu convívio com o Docker. Dúvidas, sugestões? nos mande um mensagem e vamos conversando.

Grande Abraço!