Hoja de Referencia de Comandos Docker
Docker es un motor de contenedores de aplicaciones de código abierto que permite a los desarrolladores empaquetar sus aplicaciones y dependencias en una imagen portátil, que luego se puede publicar en cualquier máquina Linux o Windows popular, logrando la virtualización. Los contenedores utilizan un mecanismo de sandbox y están completamente aislados entre sí.
Uso General
Iniciar un contenedor en segundo plano
docker run -d jenkinsIniciar un contenedor interactivo
docker run -it ubuntu bashIniciar un contenedor que se elimina automáticamente al detenerse
docker run --rm ubuntu bash Iniciar un contenedor con mapeo de puertos
docker run -p 80:80 -d nginx Iniciar un contenedor con nombre
docker run --name mydb redis Iniciar un contenedor detenido
docker start mydb Detener un contenedor
docker stop mydbIniciar un contenedor y añadir metadatos
docker run -d \ label=traefik.backend=jenkins jenkinsConstruir Imágenes
Construir una imagen desde el Dockerfile en el directorio actual
docker build --tag myimage . Forzar la reconstrucción de una imagen
docker build --no-cache . Convertir un contenedor en una imagen
docker commit c7337 myimage Eliminar todas las imágenes no utilizadas
docker rmi $(docker images -q -f "dangling=true")Depuración
Entrar en un contenedor en ejecución
docker exec -it c7337 dockerMostrar los registros de actividad de un contenedor que se ejecuta como demonio
docker logs -f c7337Mostrar los puertos expuestos del contenedor
docker port c7337Volúmenes y Redes
Crear un volumen local
docker volume create --name myvol Montar un volumen al iniciar un contenedor
docker run -v myvol:/data redisDestruir un volumen
docker volume rm myvol Listar todos los volúmenes
docker volume lsCrear una red local
docker network create mynet Conectar un contenedor a la red al iniciar
docker run -d --net mynet redisConectar un contenedor a una red específica
docker network connect mynet c7337 Desconectar un contenedor de la red
docker network disconnect mynet c7337Gestión de Contenedores
Listar contenedores en ejecución
docker psListar todos los contenedores (incluyendo en ejecución y detenidos)
docker ps -aInspeccionar metadatos de un contenedor
docker inspect c7337Listar todas las imágenes locales disponibles
docker imagesEliminar todos los contenedores detenidos
docker rm $(docker ps --filter status=exited -q) Listar todos los contenedores con una etiqueta específica
docker ps --filter label=traefik.backendConsultar la dirección IP de un contenedor en ejecución
docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337Descripción
Nombre de la Imagen
redis, jenkins, nginxNombre del Contenedor o ID de Commit
mydb # Nombre del Contenedor
c7337 # ID de Commit