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:
- Execute um container Docker baseado na imagem
docker/getting-started.
Requisitos
Para concluir este desafio, você deve:
- Usar o comando
docker runpara iniciar o container. - Usar a imagem
docker/getting-started, que já foi baixada (pre-pulled) para você. - 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ê pressionarCtrl+Cou fechar esse terminal, o container será interrompido. Abra um segundo terminal para executar odocker ps, ou usedocker run -d docker/getting-startedse 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.



