#Docker Cheat Sheet
En este doc vas a encontrar un listado de comandos y ejemplos prácticos de Docker.
Si nunca antes has usado Docker te recomiendo visitar antes esta pequeña infografía.
Y si tienes cualquier duda o quieres darme feedback no dudes en dejarme un Tweet.
Ahora sí. Empecemos con el código!
🎖 Comandos
- Levantando contenedores
🔹 Arrancar un contenedor.
docker run <image_container>
Ejemplo:
docker run hello-world
🔹 Arrancar un contenedor asignándole un nombre.
docker run --name <name_container> <image_container>
Ejemplo:
docker run --name contenedor_test ubuntu
🔹 Arrancar un contenedor con una terminal interactiva. Pasándole una shell para acceder al contenedor.
docker run -it <image_container> <shell>
Ejemplo:
docker run -it ubuntu bash
🔹 Arrancar un contenedor. Mapeando un puerto del host a un puerto del contenedor.
- puerto_host : puerto_contenedor
docker run -p <host_port>:<container_port> <image_container>
Ejemplo:
docker run -p 8080:80 nginx
Igual que el ejemplo anterior pero dejándolo en segundo plano.
docker run -p 8080:80 -d nginx
🔹 Arrancar un contenedor. Que tras terminar su periodo de vida. Será eliminado automáticamente.
docker run --rm <image_container>
Ejemplo:
docker run -p 8080:80 -d --rm nginx
🔹 Arrancar un contenedor con un volume.
docker run -v <volume_name>:<mount_point>:<options> <image_container>
Ejemplo:
- Volume -> test
- Punto de montaje en el contenedor -> /apps
- Opciones -> rw (Lectura y escritura)
docker run -v test:/apps:rw nginx
🔹 Arrancar un contenedor con un bind mount.
docker run -v <shared_folder>:<mount_point>:<options> <image_container>
Ejemplo:
- Ruta del host a compartir -> /home/application
- Punto de montaje en el contenedor -> /apps
- Opciones -> ro (Solo lectura)
docker run -v /home/application:/apps:ro ubuntu
🔹 Arrancar un contenedor con tmpfs.
docker run \
--mount type=tmpfs,destination=<mount_point>,tmpfs-mode=<permisos>,tmpfs-size=<bytes_size> \
<image_container>
Ejemplo:
- Punto de montaje en el contenedor -> /temporal
- Permisos -> Todos los permisos solo para el propietario.
- Tamaño del FS -> 21474836480 bytes = 20G
docker run \
--mount type=tmpfs,destination=/temporal,tmpfs-mode=700,tmpfs-size=21474836480 \
nginx
- Listando contenedores
🔹 Lista de los contenedores activos.
docker ps
🔹 Lista de todos los contenedores activos e inactivos del sistema.
docker ps -a
🔹 Lista los ID de todos los contenedores.
docker ps -aq
- Debugging
🔹 Inspeccionar la data de un contenedor.
- Por su ID:
docker inspect <id_container>
- Por su nombre:
docker inspect <name_container>
- Aplicando filtros. Por ejemplo buscando las variables de entorno:
docker inspect -f '{{ json .Config.Env }}' <name_container>
🔹 Ver los logs del contenedor.
docker logs <name_container>
- Eliminando contenedores
🔹 Eliminar un contenedor que no este arriba.
- Se puede hacer tanto por nombre como por ID.
docker rm <name_container>
🔹 Eliminar un contenedor aunque este arriba. Forzándolo.
- Se puede hacer tanto por nombre como por ID.
docker rm -f <id_container>
🔹 Eliminar todos los contenedores que no esten arriba a la vez.
docker rm $(docker ps -aq)