Principais comandos
docker run
Cria um novo contêiner, o inicia e executa o comando especificado (quando nada é especificado, executa o comando padrão).
$ docker run hello-world
Você verá uma saída como:
Hello from Docker!
This message shows that your installation appears to be working correctly.
(...)
No comando anterior o terminal é direcionado para dentro do contêiner. Para iniciá-lo no modo avulso (detached) utilizaremos o parâmetro -d:
$ docker run -d hello-world
O terminal exibirá o id de criação do contêiner, algo como:
bdcaba00ed90289490331613191d1ec2010dbc94330b532b4da8f7714e417d8e
Quando um nome (parâmetro --name="nome") não é fornecido, o Docker criará o container com um nome aleatório.rio, geralmente composto de 2 palavras.
Exemplo: inspiring_euclid
docker ps
Lista os contêineres disponíveis na máquina. Por padrão, somente aqueles que estão atualmente executando serão exibidos. Para listar todos, utilize o parâmetro -a:
$ docker ps -a
No nosso exemplo, você verá algo como:
| CONTAINER_ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES |
|---|---|---|---|---|---|---|
| 14a72c95d77b | hello-world | "/hello" | 1 minute ago | Exited (0) 1 minutes ago | unruffled_bartik |
docker start
Inicia um contêiner por nome, ou por ID. Utilizando o exemplo anterior, vamos copiar o ID informado na coluna CONTAINER_ID para iniciá-lo novamente.
$ docker start 14a72c95d77b
Você verá como saída o ID do container indicando que ele foi iniciado.
14a72c95d77b
docker stop
Encerra a execução de um contêiner. Mesma lógica do comando anterior.
$ docker stop 14a72c95d77b
docker restart
Reinicia a execução de um contêiner( stop e start). Mesma lógica do comando anterior.
docker rm
Remove um contêiner do host. Você pode utilizar docker ps -a para listar a relação de contêineres disponíveis, e removê-lo por nome ou id.
$ docker rm 14a72c95d77b
O comando docker rm somente remove containers que não estão em execução. Para remover um container em execução, use docker rm -f
docker rmi
Remove a imagem do host. No entanto, só é possível remover as imagens que não está sendo utilizadas por nenhum contêiner no host.
$ docker rmi hello-world
Para ver a lista de todas as imagens baixadas para o host utilize docker images
docker exec
Executa um comando dentro de um contêiner que está em execução.
- Primeiro executaremos um contêiner criado a partir de uma imagem do Ubuntu, em modo
detached:
$ docker run --name ubuntu_bash -d -it ubuntu
- Agora executaremos o comando
ls -ladentro do contêiner:
$ docker exec ubuntu_bash ls -la
- Para logar dentro do contêiner e executar comandos diretamente de lá (
exitpara sair):
$ docker exec -it ubuntu_bash bash
docker logs
Exibe no terminal os logs do contêiner (parâmetro -f pode ser utilizado para travar a tela exibindo os logs, Ctrl+C para sair):
$ docker logs ubuntu_bash