Acessar e Gerenciar Containers

DockerBeginner
Pratique Agora

Introdução

O Docker revolucionou a maneira como implantamos e gerenciamos aplicações ao introduzir os containers — ambientes leves e portáteis que podem ser executados em qualquer sistema que possua o Docker instalado. Como desenvolvedor ou administrador de sistemas, dominar o gerenciamento de containers Docker é fundamental para a implantação e manutenção eficiente de aplicações. Neste desafio, você colocará suas habilidades à prova realizando uma série de tarefas que cobrem os aspectos essenciais do gerenciamento de containers através da interface de linha de comando (CLI) do Docker.

Ao longo deste desafio, você navegará por diversos cenários que refletem situações do mundo real encontradas ao trabalhar com Docker. Desde a inicialização de containers e inspeção de logs até a execução de comandos internos e, por fim, a limpeza de recursos, você ganhará experiência prática com todo o ciclo de vida das operações de containers Docker.

Vamos começar a dominar a arte do gerenciamento de containers!

Iniciar um Container

O primeiro passo em qualquer fluxo de trabalho Docker costuma ser a inicialização de um container. Nesta tarefa, você iniciará um container e aprenderá a acessar seus logs — uma habilidade crucial para a resolução de problemas e monitoramento do comportamento da aplicação.

Tarefas

Suas tarefas são:

  1. Iniciar um container chamado my-container, baseado na imagem nginx.
  2. Visualizar os logs do container my-container.

Requisitos

  • Use o comando docker run para iniciar o container.
  • Use o comando docker logs para visualizar os logs do container.
  • Realize todas as operações no diretório /home/labex/project.

Exemplo

Após completar este passo com sucesso, você deverá conseguir ver seu container em execução ao usar o comando docker ps. A saída deve ser semelhante a esta:

CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
3a7d9f642a7f   nginx     "/docker-entrypoint.…"   12 seconds ago   Up 11 seconds   80/tcp    my-container

Esta saída confirma que seu container Nginx está ativo e rodando, pronto para servir conteúdo web.

Ótimo trabalho ao lançar seu primeiro container! Ser capaz de iniciar containers e acessar seus logs é a base para trabalhar com Docker. A seguir, veremos como parar um container em execução — outra habilidade essencial no gerenciamento de containers.

✨ Verificar Solução e Praticar

Parar um Container

Embora executar containers seja importante, saber como pará-los de forma adequada é igualmente crucial. Esta habilidade é particularmente útil quando você precisa realizar manutenções, atualizar configurações ou simplesmente liberar recursos do sistema.

Tarefas

Sua tarefa é:

  1. Parar o container chamado my-container.

Requisitos

  • Use o comando docker stop para parar o container.
  • Realize todas as operações no diretório /home/labex/project.

Exemplo

Após parar o container com sucesso, você pode usar docker ps -a para visualizar todos os containers, incluindo os que estão parados. A saída deve ser semelhante a esta:

CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS                      PORTS     NAMES
3a7d9f642a7f   nginx     "/docker-entrypoint.…"   2 minutes ago   Exited (0) 10 seconds ago             my-container

Observe como o status do my-container mudou para "Exited", indicando que ele foi interrompido com sucesso.

Excelente trabalho ao parar o container! Esta habilidade é fundamental para gerenciar o ciclo de vida dos containers de forma eficaz. Agora que você dominou o início e a interrupção de containers, vamos passar para um tópico mais avançado: executar comandos dentro de um container em execução.

✨ Verificar Solução e Praticar

Executar Comandos em um Container

Um dos recursos mais poderosos do Docker é a capacidade de executar comandos dentro de um container que já está em execução. Essa funcionalidade é inestimável para depuração, execução de tarefas de manutenção ou atualização de configurações sem a necessidade de parar o container.

Tarefas

Suas tarefas são:

  1. Iniciar um container chamado my-shell-container, baseado na imagem ubuntu. O container deve permanecer em execução em segundo plano.
  2. Executar o comando echo "Hello World" dentro do container my-shell-container.

Requisitos

  • Use o comando docker run para iniciar o container.
  • Garanta que o container permaneça ativo após a inicialização.
  • Use o comando docker exec para executar o comando dentro do container.
  • Realize todas as operações no diretório /home/labex/project.

Dica

Containers baseados na imagem ubuntu serão encerrados imediatamente após a inicialização, a menos que um comando de longa duração seja especificado. Para manter o container ativo, considere rodar um comando como sleep infinity ao iniciar o container. Por exemplo:

docker your-command sleep infinity

Exemplo

Após iniciar o container, você pode usar o comando docker ps para confirmar que ele está rodando. A saída deve ser semelhante a esta:

CONTAINER ID   IMAGE     COMMAND            CREATED          STATUS          PORTS     NAMES
1a2b3c4d5e6f   ubuntu    "<command>"        30 seconds ago   Up 29 seconds             my-shell-container

Ao executar o comando echo dentro do container, você deverá ver a seguinte saída:

Hello World

Isso demonstra que você executou com sucesso um comando dentro do container em execução.

Trabalho fantástico! Você aprendeu como interagir com um container ativo executando comandos internamente. Essa habilidade abre um mundo de possibilidades para o gerenciamento e manutenção de containers. No passo final, aprenderemos como fazer a limpeza removendo os containers que não são mais necessários.

✨ Verificar Solução e Praticar

Remover um Container

Ao trabalhar com Docker, você frequentemente criará containers para tarefas temporárias ou testes. É importante remover esses containers quando não forem mais necessários para liberar recursos do sistema e manter seu ambiente Docker organizado.

Tarefas

Sua tarefa é:

  1. Parar e remover o container chamado my-shell-container.

Requisitos

  • Use o comando docker stop para parar o container.
  • Use o comando docker rm para remover o container.
  • Realize todas as operações no diretório /home/labex/project.

Exemplo

Após completar este passo, você pode usar docker ps -a para confirmar que o my-shell-container foi removido. Você não deve mais vê-lo na lista de containers:

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

Isso indica que você removeu o container do seu sistema com sucesso.

Parabéns por concluir o passo final! Você aprendeu como limpar seu ambiente Docker removendo containers desnecessários. Esta habilidade é crucial para manter um espaço de trabalho Docker eficiente e organizado.

✨ Verificar Solução e Praticar

Resumo

Neste desafio abrangente, você percorreu os aspectos essenciais do gerenciamento de containers Docker. Você demonstrou sua capacidade de iniciar containers, acessar seus logs, parar containers em execução, executar comandos internamente e, por fim, remover containers quando não são mais necessários.

Essas habilidades formam a base do uso eficaz do Docker e serão úteis em diversos cenários, desde o desenvolvimento e teste até implantações em produção. Você adquiriu experiência prática com a CLI do Docker, o que é inestimável para qualquer pessoa que trabalhe com aplicações conteinerizadas.

Ao continuar sua jornada com o Docker, lembre-se de que essas operações básicas são os blocos de construção para fluxos de trabalho mais complexos. Pratique essas habilidades regularmente e você se tornará cada vez mais proficiente no gerenciamento de containers, resultando em processos de desenvolvimento e implantação mais ágeis e eficientes.

Continue explorando as capacidades do Docker e não hesite em experimentar diferentes imagens e configurações de container. O mundo da conteinerização é vasto e cheio de possibilidades, e agora você está bem equipado para navegá-lo com confiança!