Usando Imagens Docker
Pull (Puxar) imagens Docker é apenas o primeiro passo. Agora, vamos aprender como usar essas imagens para executar contêineres.
Executando um Contêiner a partir de uma Imagem
Para criar e iniciar um contêiner a partir de uma imagem, use o comando docker run:
docker run ubuntu:22.04 echo "Hello from Ubuntu container"
Este comando:
- Cria um novo contêiner a partir da imagem
ubuntu:22.04
- Executa o comando
echo "Hello from Ubuntu container" dentro do contêiner
- Exibe a saída:
Hello from Ubuntu container
Após executar o comando, o contêiner para porque concluiu sua tarefa.
Executando um Contêiner Interativo
Para iniciar um shell (terminal) interativo dentro de um contêiner, use as opções -i (interativo) e -t (terminal):
docker run -it ubuntu:22.04 bash
Isso fornece um shell bash dentro do contêiner Ubuntu, onde você pode executar comandos:
root@a1b2c3d4e5f6:/## ls
bin dev home lib32 libx32 mnt proc run srv tmp var
boot etc lib lib64 media opt root sbin sys usr
Para sair do contêiner, digite exit ou pressione Ctrl+D:
root@a1b2c3d4e5f6:/## exit
exit
Executando um Contêiner em Modo Destacado
Para executar um contêiner em segundo plano (modo destacado), use a opção -d:
docker run -d --name nginx-server -p 8080:80 nginx
Este comando:
- Cria um contêiner chamado
nginx-server a partir da imagem nginx
- Executa-o em modo destacado (
-d)
- Mapeia a porta 8080 em seu host (servidor) para a porta 80 no contêiner
- Retorna um ID do contêiner:
e1d0ac1dcb21a93d9d878dcf40c054eb9f3c2b1bf5ecce7c29b6fa8ce6b219c1
Acessando o Contêiner em Execução
Agora você pode acessar o servidor web Nginx em http://localhost:8080 no seu navegador, ou usar curl para verificar se está funcionando:
curl localhost:8080
Isso deve exibir a página de boas-vindas HTML do Nginx:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
</html>
Listando Contêineres em Execução
Para ver todos os contêineres em execução, use:
docker ps
Isso mostra informações sobre seus contêineres em execução:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e1d0ac1dcb21 nginx "/docker-entrypoint.…" 30 seconds ago Up 29 seconds 0.0.0.0:8080->80/tcp nginx-server
Parando e Removendo Contêineres
Para parar um contêiner em execução:
docker stop nginx-server
Para remover um contêiner parado:
docker rm nginx-server
Você agora usou com sucesso imagens Docker para executar contêineres. Este é o fluxo de trabalho fundamental para usar o Docker em seus processos de desenvolvimento e implantação.