Comandos básicos de Docker: apunte rápido para el día a día

Comandos basicos de Docker

Apunte rapido con comandos frecuentes para laburar con imagenes y contenedores.

La idea es tener a mano lo basico para el dia a dia: bajar imagenes, crear contenedores,
publicar puertos, revisar logs y limpiar recursos. Sirve como referencia rapida para
laboratorio, practica o para destrabarte cuando no te acordas el comando exacto.

Probado con

  • Docker Engine 28.x
  • Docker CLI 28.x
  • Comandos basicos compatibles con versiones modernas de Docker

Flujo tipico

Ejemplo completo para levantar Nginx, revisar que este corriendo, mirar logs y limpiar
el contenedor al final.

docker pull nginx
docker run --name mi-nginx -p 8080:80 -d nginx
docker ps
docker logs mi-nginx
docker stop mi-nginx
docker rm mi-nginx

Imagenes

Descargar una imagen

Por defecto, Docker baja imagenes desde Docker Hub.

docker pull <imagen>

Ejemplo:

docker pull mongo

Tambien podes indicar una version especifica usando tags:

docker pull ubuntu:24.04

Listar imagenes locales

docker images

Tambien podes usar:

docker image ls

Borrar una imagen

docker image rm <imagen>

Ejemplo:

docker image rm mongo

Si la imagen esta siendo usada por un contenedor, primero tenes que borrar el contenedor o forzar el borrado.

docker image rm -f <imagen>

Contenedores

Crear un contenedor

Crea el contenedor, pero no lo arranca.

docker create <imagen>

Ejemplo:

docker create mongo

Crear un contenedor con nombre

docker create --name <nombre-contenedor> <imagen>

Ejemplo:

docker create --name monguito mongo

Crear un contenedor con puerto publicado

Formato:

docker create -p <puerto-host>:<puerto-contenedor> --name <nombre-contenedor> <imagen>

Ejemplo:

docker create -p 27017:27017 --name monguito mongo

Iniciar un contenedor

docker start <nombre-contenedor>

Tambien podes usar el ID del contenedor:

docker start <container-id>

Detener un contenedor

docker stop <nombre-contenedor>

Borrar un contenedor

El contenedor debe estar detenido.

docker rm <nombre-contenedor>

Para borrar un contenedor aunque este corriendo:

docker rm -f <nombre-contenedor>

Ejecutar contenedores

Descargar, crear e iniciar en un solo paso

docker run baja la imagen si no existe localmente, crea el contenedor y lo arranca.

docker run -d <imagen>

Ejemplo:

docker run -d mongo

Ejecutar con nombre y puerto publicado

docker run --name <nombre-contenedor> -p <puerto-host>:<puerto-contenedor> -d <imagen>

Ejemplo:

docker run --name monguito -p 27017:27017 -d mongo

Ejecutar un contenedor temporal

--rm borra el contenedor automaticamente cuando termina.

docker run --rm -it <imagen> <comando>

Ejemplo:

docker run --rm -it ubuntu:24.04 bash

Ejecutar con variables de entorno

docker run -e <VARIABLE>=<valor> <imagen>

Ejemplo:

docker run --name mi-nginx -e NGINX_HOST=localhost -d nginx

Ejecutar con volumen

Te permite montar una ruta del host dentro del contenedor.

docker run -v <ruta-host>:<ruta-contenedor> <imagen>

Ejemplo:

docker run --name mi-nginx -v $PWD/html:/usr/share/nginx/html:ro -p 8080:80 -d nginx

Ejecutar un comando dentro de un contenedor

docker exec -it <nombre-contenedor> bash

Si la imagen no tiene bash, proba con sh.

docker exec -it <nombre-contenedor> sh

Consultas y logs

Ver contenedores corriendo

docker ps

Ver todos los contenedores

Incluye tambien los contenedores detenidos.

docker ps -a

Ver logs de un contenedor

docker logs <nombre-contenedor>

Con timestamps:

docker logs -t <nombre-contenedor>

Seguir logs en tiempo real:

docker logs -f <nombre-contenedor>

Ver informacion detallada

docker inspect <nombre-contenedor>

Limpieza

Ojo: antes de ejecutar comandos de limpieza, revisa que no tengas contenedores,
imagenes o recursos importantes en la maquina.

Borrar contenedores detenidos

docker container prune

Borrar imagenes sin uso

docker image prune

Borrar recursos sin uso

Borra contenedores detenidos, redes sin uso, imagenes dangling y cache de build.

docker system prune

Referencias

Join the ConversationLeave a reply

Your email address will not be published. Required fields are marked *

Comment*

Name*

Website