Lab 1.2 - Operar
Lab 1.2 - Objetivos
Buscar informações containers em execução
Executar processos adicionais em containers ativos
Mapear volumes locais aos containers
Mapear rede aos containers
Para as tarefas seguintes execute o comando abaixo:
docker run -d busybox /bin/sh -c "while true; do echo Hello from Linux container [\$HOSTNAME];sleep 1;done"
docker run -d busybox /bin/sh -c "while true; do echo Hello from Linux container [\$HOSTNAME];sleep 2;done"
docker run -d busybox /bin/sh -c "while true; do echo Hello from Linux container [\$HOSTNAME];sleep 3;done"Ou se preferir, execute tudo em um único comando:
for i in `seq 3`; do docker run -d busybox /bin/sh -c "while true; do echo Hello from Linux container [\$HOSTNAME];sleep $i;done"; doneTarefas
1.2.1 - Monitorando Containers
Para buscar mais informações sobre os containers em execução, usa-se:
docker ps
No exemplo anterior não são listados containers terminados. Para visualizar a listagem completa, usa-se:

Para visualizar os processos em execução dentro de um container, usamos:

Também podemos inspecionar os metadados do container, ou de uma imagem, através de:

Tente obter o endereço IP de um container usando o comando abaixo:

1.2.2 - Execução Ad-Hoc
Também podemos conectar em um container em execução e executar processos adicionais usando:

1.2.3 - Adicionando Persistência através de Volumes
Containers são essencialmente efêmeros. Entretanto, podemos mapear diretórios a eles e ter mecanismos de persistência de dados. Esse mecanismo é usado através do comando:
/tmp: diretório no FS do Host
/tmp_from_host: volume mapeado dentro do container
z: em sistemas com SELinux habilitado, indica que conteúdo do volume pode ser compartilhado por múltiplos containerspara mais detlahes sobre o volumes no Docker veja: https://docs.docker.com/engine/admin/volumes/volumes/
No exemplo acima, o diretório /tmp/host do container será mapeado para o diretório /tmp no host hospedeiro
1.2.4 - Mapeando Portas de rede entre o container e o host
Por padrão, os containers utilizam de redes privadas locais no host hospedeiro. Dessa forma se faz necessário usar mapeamento de portas para expor serviços de rede, como uma aplicação web:
No exemplo acima, a porta 80 do container (httpd) será exposta na porta 8080 do host hospedeiro
para se certificar disso use o comando abaixo:
execute o teste abaixo tentando acessr a porta 8080 a partir do host (fora do container):
Ao invés de mapear manualmente, podemos usar portas aleatórias:
1.2.5 Monitorando o uso de recursos do container
Para monitorar a quantidade de recursos que um container está consumindo em um host, podemos executar o comando

E podemos visualizar somente de um container rodando o comando
Last updated