Execute o seu primeiro container

DockerBeginner
Pratique Agora

Introdução

Bem-vindo ao desafio "Execute o seu primeiro container"! Você já aprendeu como executar o container hello-world. Agora, vamos dar um passo adiante e executar um container diferente. Neste desafio, você usará as suas habilidades em Docker para iniciar a imagem docker/getting-started, que inicia um pequeno servidor web dentro de um container.

Executar um novo container

Tarefas

A sua tarefa é simples:

  1. Execute um container Docker baseado na imagem docker/getting-started.

Requisitos

Para concluir este desafio, você deve:

  1. Usar o comando docker run para iniciar o container.
  2. Usar a imagem docker/getting-started, que já foi baixada (pre-pulled) para você.
  3. Executar o comando no diretório ~/project.

Exemplo

Quando você executa o container com sucesso, o Docker inicia o container em primeiro plano (foreground), portanto, o seu terminal permanece conectado aos logs do container. Esses logs vêm do servidor web Nginx dentro do docker/getting-started.

Não se preocupe se vir uma mensagem de aviso sobre o diretório /docker-entrypoint.d/ não estar vazio.

/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2024/10/29 09:26:17 [notice] 1#1: using the "epoll" event method
2024/10/29 09:26:17 [notice] 1#1: nginx/1.23.3
2024/10/29 09:26:17 [notice] 1#1: built by gcc 12.2.1 20220924 (Alpine 12.2.1_git20220924-r4)
2024/10/29 09:26:17 [notice] 1#1: OS: Linux 5.15.0-56-generic
2024/10/29 09:26:17 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2024/10/29 09:26:17 [notice] 1#1: start worker processes
2024/10/29 09:26:17 [notice] 1#1: start worker process 31
2024/10/29 09:26:17 [notice] 1#1: start worker process 32

Você pode abrir uma nova janela de terminal para verificar se o container está em execução usando o comando docker ps.

docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED          STATUS          PORTS     NAMES
f3f3b3b3b3b3   docker/getting-started   "/docker-entrypoint.…"   1 minute ago   Up 1 minute   80/tcp   festive_mendel

Nota: Mantenha o primeiro terminal em execução após o docker run docker/getting-started. Se você pressionar Ctrl+C ou fechar esse terminal, o container será interrompido. Abra um segundo terminal para executar o docker ps, ou use docker run -d docker/getting-started se desejar que o container seja executado em segundo plano (background).

Resumo

Neste desafio, você expandiu as suas habilidades em Docker ao executar um novo container. Você utilizou o comando docker run para iniciar a imagem docker/getting-started, que inicia um servidor web dentro de um container e exibe os logs de inicialização no terminal. Você também observou que um container iniciado em primeiro plano mantém o terminal conectado até que você o interrompa. Este exercício reforça os fundamentos de como iniciar containers e verificar se eles estão em execução com comandos do Docker, como o docker ps.

✨ Verificar Solução e Praticar