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
docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]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
nginxem segundo plano. O container continuará em execução até ser parado manualmente.Executar um Container com uma Porta Publicada:
Este comando executa um container
nginxem 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
ubuntue fornece acesso interativo ao terminal Bash dentro do container.Montar um Volume no Container:
Esse comando monta o diretório
/host/datado host no diretório/container/datadentro 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
echoser executado.Definir Variáveis de Ambiente no Container:
Este comando define a variável de ambiente
MY_VARdentro do container e executa o comandoenvpara 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