Comandos importantes de Docker

Contenedores

# Crear contenedores
docker run <image> [<command>] = crea un contenedor con un comando root
    --name <container> = con un nombre específico
    --rm = lo elimina cuando termina de utilizarse
    -it = en modo interactivo
    -d = en modo detach (sin mostrar output)

# Manejar procesos en un contenedor
docker exec -it <container> <command> = ejecuta un comando en un contenedor ya existente, en modo interactivo
docker kill <container> = termina cualquier proceso que se esté ejecutando en el contenedor

# Listar contenedores
docker ps -a = lista todos los contenedores
docker ps -aq = lista el nombre de todos los contenedores

# Inspeccionar contenedores
docker inspect <container> = inspecciona un contenedor
docker logs <container> = muestra el output de un contenedor

# Renombrar un contenedor
docker rename <old-container> <new-container-name> = renombra un contenedor

# Eliminar contenedores
docker rm <container> = elimina un contenedor
docker rm -f <container> = elimina un contenedor aunque esté siendo ejecutado
docker rm $(docker ps -aq) = elimina todos los contenedores

Imágenes

# Descargar imágenes
docker pull <image>

# Crear imágenes
docker build -t <image>:<tag> <path>

# Listar imágenes
docker image ls

# Publicar imágenes
docker push <repository>:<tag>

# Etiquetar imágenes
docker tag <old-image>:<tag> <new-image>:<tag>

# Ver las capas de una imagen
docker history <image>:<tag>

Volúmenes

# Crear volúmenes
docker volume create <volume> = crea un volumen

# Listar volúmenes
docker volume ls = lista todos los volúmenes

# Eliminar volúmenes
docker volume prune = elimina todos los volúmenes que no están siendo utilizados

Redes

# Crear redes
docker network create --attachable <network>

# Listar redes
docker network ls

# Conectarse a una red
docker network connect <network> <container>

# Inspeccionar una red
docker network inspect <network>

# Eliminar una red
docker network rm <network>

Docker Compose

# Crear la imagen utilizada en la aplicación
docker-compose build

# Crear los servicios de una aplicación
docker-compose up
    -d = en modo detach (sin mostrar output)

# Manejar procesos en un servicio
docker-compose exec <service> <command> = ejecuta un comando en un servicio, en modo interactivo

# Listar servicios
docker-compose ps

# Inspeccionar servicios
docker-compose logs <service>

# Eliminar servicios
docker-compose down