Skip to content

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 jenkins

Iniciar un contenedor interactivo

docker run -it ubuntu bash

Iniciar 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 mydb

Iniciar un contenedor y añadir metadatos

docker run -d \ label=traefik.backend=jenkins jenkins

Construir 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 docker

Mostrar los registros de actividad de un contenedor que se ejecuta como demonio

docker logs -f c7337

Mostrar los puertos expuestos del contenedor

docker port c7337

Volúmenes y Redes

Crear un volumen local

docker volume create --name myvol 

Montar un volumen al iniciar un contenedor

docker run -v myvol:/data redis

Destruir un volumen

docker volume rm myvol 

Listar todos los volúmenes

docker volume ls

Crear una red local

docker network create mynet 

Conectar un contenedor a la red al iniciar

docker run -d --net mynet redis

Conectar un contenedor a una red específica

docker network connect mynet c7337 

Desconectar un contenedor de la red

docker network disconnect mynet c7337

Gestión de Contenedores

Listar contenedores en ejecución

docker ps

Listar todos los contenedores (incluyendo en ejecución y detenidos)

docker ps -a

Inspeccionar metadatos de un contenedor

docker inspect c7337

Listar todas las imágenes locales disponibles

docker images

Eliminar 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.backend

Consultar la dirección IP de un contenedor en ejecución

docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337

Descripción

Nombre de la Imagen

redis, jenkins, nginx

Nombre del Contenedor o ID de Commit

mydb  # Nombre del Contenedor 
c7337 # ID de Commit