O Docker é uma plataforma de contêinerização que permite criar, gerenciar e executar contêineres de maneira eficiente. Seus comandos estão organizados em várias categorias, abrangendo o ciclo de vida de contêineres, imagens, volumes, redes, entre outros. Abaixo estão as principais categorias de comandos do Docker, com exemplos detalhados para cada uma.
Os contêineres são instâncias de imagens que podem ser executadas de forma isolada. O gerenciamento de contêineres envolve a criação, execução, parada, reinício e remoção de contêineres.
* Criar e executar contêineres
docker run -d --name meu-container nginx
O comando acima cria e executa um contêiner com o NGINX em segundo plano (opção -d) e o nomeia como “meu-container”.
* Listar contêineres ativos
docker ps
Lista os contêineres que estão em execução no momento.
* Listar todos os contêineres (incluindo parados)
docker ps -a
* Parar um contêiner
docker stop meu-container
* Reiniciar um contêiner
docker restart meu-container
* Remover um contêiner
docker rm meu-container
As imagens são templates imutáveis a partir dos quais os contêineres são criados. Os comandos relacionados a imagens incluem download, listagem, remoção e criação de novas imagens.
* Baixar uma imagem do Docker Hub
docker pull ubuntu:20.04
Faz o download da imagem do Ubuntu versão 20.04.
* Listar imagens locais
docker images
* Remover uma imagem
docker rmi ubuntu:20.04
* Criar uma imagem a partir de um Dockerfile
docker build -t minha-imagem .
Cria uma nova imagem com o nome minha-imagem a partir do Dockerfile no diretório atual.
Volumes são usados para persistir dados além do ciclo de vida de um contêiner. Eles permitem compartilhar dados entre diferentes contêineres ou preservar dados em contêineres removidos.
* Criar um volume
docker volume create meu-volume
* Listar volumes
docker volume ls
* Usar um volume em um contêiner
docker run -d -v meu-volume:/dados --name container-com-volume nginx
Monta o volume meu-volume no diretório /dados do contêiner.
* Remover um volume
docker volume rm meu-volume
Docker permite criar redes virtuais para isolar e interconectar contêineres. Existem vários tipos de redes (bridge, host, overlay, etc.).
* Criar uma nova rede
docker network create minha-rede
* Listar redes
docker network ls
* Conectar um contêiner a uma rede
docker network connect minha-rede meu-container
* Desconectar um contêiner de uma rede
docker network disconnect minha-rede meu-container
* Remover uma rede
docker network rm minha-rede
Docker fornece comandos para visualizar logs, estatísticas de uso de recursos e informações de execução de contêineres.
* Ver logs de um contêiner
docker logs meu-container
* Monitorar o uso de recursos de um contêiner
docker stats meu-container
* Inspecionar detalhes de um contêiner ou recurso
docker inspect meu-container
Exibe informações detalhadas sobre o contêiner, incluindo a configuração e o estado atual.
Docker Compose é uma ferramenta usada para definir e gerenciar aplicativos multi-contêiner. O Compose usa um arquivo docker-compose.yml para definir serviços.
* Iniciar serviços definidos no docker-compose.yml
docker-compose up
* Parar e remover contêineres definidos no docker-compose.yml
docker-compose down
* Reiniciar serviços
docker-compose restart
Com o tempo, imagens, contêineres e volumes não utilizados podem acumular-se, ocupando espaço. Existem comandos para limpar esses recursos não utilizados.
* Remover contêineres parados
docker container prune
* Remover imagens não utilizadas
docker image prune
* Remover todos os volumes não utilizados
docker volume prune
* Remover todos os recursos não utilizados (contêineres, imagens, volumes e redes)
docker system prune
Existem comandos adicionais que facilitam a interação e automação com o Docker.
* Exportar um contêiner como arquivo tar
docker export -o meu-container.tar meu-container
* Importar um contêiner de um arquivo tar
docker import meu-container.tar
* Verificar a versão do Docker
docker version
* Obter ajuda sobre qualquer comando
docker <comando> --help
Exemplo:
docker run --help
Essa lista abrange os principais comandos e categorias do Docker. Com base nela, é possível administrar contêineres, imagens, redes e volumes, além de realizar operações de manutenção e automação. Cada comando mencionado oferece um ponto de partida para operações mais avançadas, à medida que as necessidades de infraestrutura aumentam.