====== Principais Categorias de Comandos do Docker ======
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.
===== 1. Gerenciamento de Contêineres =====
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
===== 2. Gerenciamento de Imagens =====
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.
===== 3. Gerenciamento de Volumes =====
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
===== 4. Gerenciamento de Redes =====
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
===== 5. Gerenciamento de Logs e Monitoramento =====
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.
===== 6. Comandos para Deploy Multi-Contêiner (Docker Compose) =====
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
===== 7. Manutenção e Limpeza =====
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
===== 8. Outros Comandos Úteis =====
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 --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.