Docker Handbook - Guia de comandos mais utilizados

Docker é uma ferramenta muito útil no dia a dia de um desenvolvedor. Depois que comecei a utilizar ele percebi que sempre que precisava de um exemplo de configuração eu tinha que ir no Google e pesquisar. Então resolvi criar esse repositório para compartilhar comandos úteis e exemplos de configuração. Alguns desses exemplos incluem MySQL, Redis, SQS, DynamoDB, Kafka e MongoDB.

Comandos

  • Baixando uma image
docker pull <image>
  • Start ou stop um container
docker [start|stop] <container>
  • Execute um contêiner com configurações
docker run -d -p 80:80 --name webserver nginx
  • Pare ou remova todos os contêineres que estiverem rodando
docker [rm|stop] $(docker ps -a -q)

Interagindo com Containers

  • Rodando comandos dentro de um container
docker exec -it <container> <command>

Também é possível executar um script:

docker exec -it <container> command.sh
  • Copia imagens de um container que está executando
docker cp <container>:<path> <path>

Images

  • Apaga todas as imagens da máquina
docker rmi $(docker images -q)

Outra opção:

docker image prune

Docker Compose

O Docker Compose é utilizado para facilitar a criação e gerenciamento de múltiplos containers. Ele é muito útil para criar ambientes de desenvolvimento local e testes.

  • Exemplo de arquivo de configuração em Docker-Compose para Redis.
version: '3.1'
services:
  redis-timeline:
    container_name: redis-timeline
    image: redis:6.2-alpine
    restart: always
    ports:
      - '6379:6379'
    command: redis-server --save 20 1 --loglevel warning --requirepass eYVX7EwVmmxKPCDmwMtyKVge8oLd2t81
    volumes:
      - redis-volume:/data

volumes:
  redis-volume:

Exemplos de arquivos de configuração, normalmente utilizo para testes simulando minha infra de produção.

Logo Tipo docker-compose
database redis-compose.yaml
database mysql-compose.yaml
queue,localstack sqs-compose.yaml
database,localstack dynamodb-compose.yaml
messaging system kafka-compose.yaml
database, nosql mongodb-compose.yaml

É um trabalho em andamento, com o tempo irei adicionando mais exemplos. Espero que ajude quem utiliza essa ferramenta!

Se tiverem mais comandos ou exemplos de configuração, fiquem a vontade para contribuir com o repositório!

Tem também esses outros comandos úteis relacionados a docker:

Comando para ver os containers que estão rodando:

docker ps

Veja mais sobre o docker ps clicando aqui docker ps

Comando para ver os logs de um container:

docker logs <id_do_container>

Veja mais sobre o docker logs clicando aqui docker logs