docker container run
O comando docker container run
é uma das operações mais fundamentais do Docker. Ele é usado para criar e iniciar um novo container a partir de uma imagem especificada. Esse comando combina a criação (docker create
) e a execução (docker start
) de um container em um único passo, tornando-o muito útil para iniciar containers rapidamente.
Sintaxe
IMAGE: O nome da imagem Docker que você deseja usar para criar o container.
COMMAND: (Opcional) O comando que você deseja executar dentro do container.
ARG...: (Opcional) Argumentos adicionais para o comando executado no container.
Opções Comuns
--name
: Especifica um nome para o container. Se não for especificado, o Docker atribui um nome aleatório.-d
,--detach
: Executa o container em segundo plano (modo "detached").-i
,--interactive
: Mantém o STDIN aberto mesmo que o container não esteja anexado.-t
,--tty
: Aloca um pseudo-terminal TTY, que é útil para sessões interativas.-p
,--publish
: Mapeia portas da máquina host para o container no formatohost_port:container_port
.--rm
: Remove automaticamente o container quando ele for parado.-v
,--volume
: Monta volumes para compartilhar dados entre o host e o container no formatohost_dir:container_dir
.-e
,--env
: Define variáveis de ambiente para o container.--network
: Conecta o container a uma rede específica.--link
: Conecta o container a outro container, permitindo comunicação direta.--restart
: Define a política de reinício do container (ex:no
,on-failure
,always
).
Exemplos
Executar um Container e Exibir a Saída:
Esse comando cria um container a partir da imagem
ubuntu
, executa o comandoecho "Hello, Docker!"
, exibe a saída e, em seguida, remove o container.Executar um Container em Segundo Plano (Detached Mode):
Isso executa um container usando a imagem
nginx
em segundo plano. O container continuará em execução até ser parado manualmente.Executar um Container com uma Porta Publicada:
Este comando executa um container
nginx
em segundo plano, mapeando a porta 80 do container para a porta 8080 da máquina host.Executar um Container Interativamente com um Terminal:
Isso cria um container
ubuntu
e fornece acesso interativo ao terminal Bash dentro do container.Montar um Volume no Container:
Esse comando monta o diretório
/host/data
do host no diretório/container/data
dentro do container, permitindo compartilhar arquivos entre o host e o container.Remover Automaticamente o Container Após a Execução:
O container será removido automaticamente após o comando
echo
ser executado.Definir Variáveis de Ambiente no Container:
Este comando define a variável de ambiente
MY_VAR
dentro do container e executa o comandoenv
para exibir todas as variáveis de ambiente.
Considerações
Persistência de dados: Se o container for removido após a execução, os dados não serão preservados a menos que sejam armazenados em volumes ou montagens de host.
Networking: Ao usar
--network
, você pode conectar o container a redes Docker personalizadas, facilitando a comunicação entre múltiplos containers.
Exemplo de Documentação
Executar em Segundo Plano (Detached Mode)
Para rodar um container em segundo plano usando a imagem nginx
:
Publicar Portas entre o Host e o Container
Para mapear a porta 80 do container para a porta 8080 do host:
Sessão Interativa com Terminal
Para acessar interativamente um container ubuntu
usando o terminal Bash:
Montagem de Volumes para Compartilhamento de Dados
Para montar um diretório do host no container:
Remoção Automática Após a Execução
Para remover automaticamente o container após sua execução:
Definindo Variáveis de Ambiente
Para definir uma variável de ambiente e visualizar todas as variáveis dentro do container:
Considerações Finais
O docker container run
é um comando poderoso e versátil, essencial para iniciar containers com configurações personalizadas e controle total sobre sua execução e ambiente.
Last updated