Lista de Comandos Docker
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 ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES |
---|---|---|---|---|---|---|
EDC89CFD5EB4 | HELLO-WORLD | "/HELLO" | 2 HOURS AGO | EXITED(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.