Skip to content

Hoja de Referencia de Comandos de 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 lanzar en cualquier máquina Linux o Windows popular, y también se puede lograr la virtualización. Los contenedores utilizan un mecanismo de sandbox en su totalidad y no tienen interfaces 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 (Build Images)

Construir una imagen desde un Dockerfile en el directorio actual

docker build --tag myimage . 

Forzar la reconstrucción de una imagen

docker build --no-cache . 

Aceptar cambios de un contenedor a una imagen (Commit)

docker commit c7337 myimage 

Eliminar todas las imágenes no utilizadas

docker rmi $(docker images -q -f "dangling=true")

Depuración (Debug)

Iniciar sesión en un contenedor en ejecución

docker exec -it c7337 docker

Mostrar registros de actividad de un contenedor daemon en ejecución

docker logs -f c7337

Mostrar los puertos expuestos de un contenedor

docker port c7337

Volúmenes (Volumes)

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 una 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 una red

docker network disconnect mynet c7337

Gestión de Contenedores

Listar contenedores en ejecución

docker ps

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

docker ps -a

Inspeccionar metadatos de un contenedor

docker inspect c7337

Listar todas las imágenes disponibles localmente

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 un contenedor en ejecución con metadatos específicos

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