Introducción a docker
El uso de contenedores en docker facilita el día a día del desarrollador de software, ya que se vuelve muy fácil cargar servicios como bases de datos, servicios de mensajería, servicios de almacenamiento en caché y otras herramientas importantes que usamos a diario y que pueden instalarse con simplicidad y luego eliminarse después de su uso.
En las demostraciones iniciales usamos MongoDB y RabbitMQ, por lo que debe cargar estos dos servicios en docker. Si ya tiene uno de los servicios en ejecución, simplemente cambie las credenciales en el archivo de configuración.
code /src/App/app/appsettings.json
Iniciar sesión en docker.
docker login -u <user> -p <password>
Contenedores de inicio en docker
Un ejemplo básico implica al menos un contenedor mongodb y un contenedor RabbitMQ. Copie la línea siguiente y ejecútela para iniciar el contenedor en docker.
Artículo | Herramienta | 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 | ConejoMQ | Ir a la configuración de 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 | Ir a la configuración de composición de docker |
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 |
Detención de contenedores y eliminación de imágenes de docker
En este tema, presentamos algunos comandos básicos de docker para quitar contenedores e incluso limpiar todas las imágenes locales. La última opción de poda es muy útil para limpiar todo docker.
Artículo | Comando | Objetivo |
---|---|---|
1 | docker PS -A | Listado de los contenedores |
2 | docker stop mongoDB | Detener un contenedor |
3 | docker rm mongoDB | Extracción de un contenedor |
4 | docker kill $(docker ps -a -q) | Detener todos los contenedores |
5 | docker RM $(docker PS -a -Q) | Retire todos los contenedores |
6 | docker RMI $(docker images -Q) | Eliminar todas las imágenes |
7 | poda del sistema docker --volúmenes -f -a | Limpieza de varias dependencias de docker |