Lista de Comandos Docker

Lista de Comandos Docker
Photo by Philippe Oursel / Unsplash

Aquí tienes algunos comandos básicos y avanzados de Docker con ejemplos.

Descargar una imagen con una etiqueta específica.

docker pull <nombre de imagen>:<etiqueta>

# Ejemplos:
docker pull empatiaindustries/test:1.0.0
docker pull ubuntu:latest
docker pull python

Crear una imagen con una etiqueta específica a partir de un archivo Dockerfile.

docker build -t <nombre de imagen>:<etiqueta> <directorio de contexto>

# Ejemplos:
docker build -t myapp:1.0 .
docker build -t empatiaindustries/test:1.0.0 .
docker build -t image:1.0.0 src/container .

Etiquetar una imagen existente.

docker tag <imagen actual>:<etiqueta actual> <nombre nuevo>:<etiqueta nueva>

#Ejemplos:
docker tag test:1.0.0 empatiaindustries/test:1.0.0
docker tag myapp:1.0 myapp:latest
docker tag test test:1.0.0

Listar las imágenes y sus etiquetas.

docker images

#Ejemplo:
docker images

REPOSITORY       TAG       IMAGE ID       CREATED        SIZE
test-bot-entel   1.0.1     af141ca2dacb   15 hours ago   930MB
test-bot-entel   1.0.0     d208e2e80b2b   16 hours ago   918MB

Ejecutar un contenedor a partir de una imagen con una etiqueta específica.

docker run -d --name <nombre del contenedor> <nombre de imagen>:<etiqueta>

#Ejemplos:
docker run -d --name mycontainer myapp:1.0,0
docker run -d --name myappcontainer myapp:latest
docker run -d --name test test:1.0.0

Subir una imagen etiquetada a un registro de Docker.

Como DockerHub o Container Registry

docker push <nombre de imagen>:<etiqueta>

#Ejemplos:
docker push myapp:latest
docker push empatiaindustries/test:1.0.0
docker push test:1.0.0

Listado

Lista de contenedores activos

docker ps

Lista de imagenes

docker images

Lista de contenedor activos/inactivos con detalles

docker ps -a

Obtener una lista de ids en base a los contenedores

docker ps -aq

Obtener una lista de ids en base a las imagenes

docker images -q

Inspeccionar

Ver toda la informacion

docker inspect nombre_contenedor

Aplicar un filtro para la informacion

docker inspect -f {{ .Propiedad}}

Ejemplo

docker inspect -f {{json .Config}}

Logs

Ver los registros que se tienen para un contenedor

docker logs container_name

Borrar contenedor

Eliminar contenedor inactivo

docker rm nombre_contenedor

Borrar todos los contenedores que esten inactivos

docker container prune

Eliminar todos los contenedores esten apagados/activos

docker rm -f $(docker ps -aq)

Detener el contenedor y eliminarlo

docker rm -f MyContainer

Borrar imagenes

Borrar todas las imagenes inactivas

docker image prune

Borrar imagen especifica

docker rmi nombreImagen

Borrar imagen especifica forzadamente

docker rmi -f nombreImagen

Cambiar el nombre o alias de un contenedor

Renombrar el alias

docker rename nombre nuevoNombre

Ejemplo

CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
EDC89CFD5EB4HELLO-WORLD"/HELLO"2 HOURS AGOEXITED(0)eager_carson
docker rename eager_carson hola_mundo

Correr docker

Correr directamente a la terminal y de manera interactiva

docker run -ti ubuntu

Correr un contenedor

docker run nombre

Correr un contenedor con un nombre personalizado

docker run --name hello-there hello-world

hello-world es una imagen asi que solo tendrias que asignarle la imagen que deseas y darle otro nombre customizado que quieras :)

Correr un contenedor en segundo plano

docker run nombre -d

Correr contenedor en un puerto especifico y no entrar directamente en la ejecucion del mismo

docker run -p 80:80 -d nombreImagen

80 => Puerto de la maquina donde se corre docker
80 => Puerto del contenedor

Parar un contenedor corriendo

docker container stop nombreContenedor

Reiniciar un contenedor

docker container restart nombreContenedor

Correr un proceso en un contenedor corriendo

docker exec -it nombreContenedor bash

i => Interactive
t => Terminal
Bash => Procces

Correr un contenedor con un command manual

docker run --name alwaysup -d ubuntu tail -f /dev/null

luego de ubuntu viene a ser nuestro command de lanzamiento para el contenedor

Obtener el process id de un contenedor

docker inspect --format '{{.State.Pid}}' alwaysup

Ver logs de un contenedor

docker logs nombreContenedor

Seguimiento de logs a un contenedor

docker logs -f nombreContenedor

Ver las ultimas 10 entradas de logs a un contenedor docker rm -f $(docker ps -aq)

docker logs --tail 10 -f nombreContenedor

Construir una imagen en base a un dockerfile y indicar (.) donde existe el archivo para poder crearlo

docker build -t nameImage .

Corre una imagen por detras (detach) en el puerto 80 (puedes cambiarlo al que necesites)

docker run -d -p 8080:80 nameImage

Ten en cuenta que los comandos pueden requerir permisos administrativos o ciertos ajustes adicionales según tu configuración de Docker.