Introduction to Docker

O docker é um plataforma de containers recomendada para executar aplicações como mongodb, rabbitmq utilizado na demonstração do Devprime (Windows, Linux, macOS).

A utilização de containers no Docker facilita o dia a dia da pessoa desenvolvedora de software, pois torna-se muito fácil subir serviços como banco de dados, serviços de menssageria, serviços de cache e outras ferramentas importantes que utilizamos no a dia e podem ser instaladas com simplicidade e posteriormente removidas após o uso.

Nas demonstrações iniciais nós utilizamos o MongoDB e RabbitMQ e por isso você deve subir esses dois serviços no Docker. Se você já tiver um dos serviços executando basta alterar as credenciais no arquivo de configuuração.
code /src/App/app/appsettings.json

Efetuando login no Docker.
docker login -u <user> -p <password>

Iniciando containers no Docker
Um exemplo básico envolve pelo menos um container do mongodb e um container do RabbitMQ. Copie a linha abaixo e execute para iniciar o container no Docker.

Item Ferramenta Comando
1 MongoDB docker run --name mongodb -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=mongoadmin -e MONGO_INITDB_ROOT_PASSWORD=LltF8Nx*yo -d mongo
2 RabbitMQ Acesse as configurações do RabbitMQ
3 MySQL docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=LltF8Nx*yo -d mysql:8.0
4 SQLServer docker run --name sqlserver -e “MSSQL_SA_PASSWORD=LltF8Nx*yo”-e “ACCEPT_EULA=Y” -p 1433:1433 -d mcr.microsoft.com/mssql/server
5 PostgreSQL docker run --name postgresql -p 5432:5432 -e POSTGRES_PASSWORD=LltF8Nx*yo -d postgres:latest
6 Redis docker run --name redis -p 6379:6379 -e REDIS_PASSWORD=LltF8Nx*yo -d redis
7 Kafka Acesse as configurações do docker compose
8 Seq docker run --name seq -d -p 5341:5341 -p 8000:80 --memory=500mb --memory-swap=500mb -e SEQ_CACHE_SYSTEMRAMTARGET=0 -e ACCEPT_EULA=Y datalust/seq
9 Zipkin docker run --name zipkin -d -p 9411:9411 openzipkin/zipkin
10 Jaeger docker run -d --name jaeger -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 -e COLLECTOR_OTLP_ENABLED=true -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778 -p 16686:16686 -p 4317:4317 -p 4318:4318 -p 14250:14250 -p 14268:14268 -p 14269:14269 -p 9411:9411 jaegertracing/all-in-one:1.44
11 Keycloak docker run -d --name keycloak -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:20.0.3 start-dev

Parando containers e removendo imagens docker
Nesse tópico apresentamos alguns comandos básicos do docker para remover containers e até limpar todas as imagens locais. A última opção do prune é bem útil para limpar todo o Docker.

Item Comando Objetivo
1 docker ps -a Listando os containers
2 docker stop mongodb Parando um container
3 docker rm mongodb Removendo um container
4 docker kill $(docker ps -a -q) Parar todos os containers
5 docker rm $(docker ps -a -q) Remover todos os containers
6 docker rmi $(docker images -q) Remover todas as imagens
7 docker system prune --volumes -f -a Limpar diversas dependências do docker
Última modificação August 31, 2023 (bc414ee2)