====== 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.