Comandos Docker: guía práctica

comandos-docker
comandos-docker

Comandos Docker es una guía práctica para trabajar con contenedores sin perderte entre opciones sueltas. Docker tiene muchos subcomandos, pero en el día a día casi siempre repites los mismos: listar, crear, iniciar, detener, inspeccionar, ver logs, gestionar imágenes, redes, volúmenes y Compose.

El objetivo no es memorizar toda la CLI, sino entender qué comando usar en cada situación y qué precauciones tomar antes de borrar recursos o tocar un entorno compartido. Así puedes administrar contenedores de forma más segura y reproducible.

En esta lección vas a ver los comandos Docker más importantes organizados por tarea, con ejemplos reales y advertencias donde corresponde. Está pensada para desarrollo, laboratorios y primeros entornos de administración.

👉 Y recuerda, si quieres aprender más de Linux, pincha en este curso de Linux gratis.

🐳 Si quieres aprender más de Docker, pincha en este curso de Docker gratis.

Comandos Docker esenciales

Antes de entrar por categorías, conviene quedarse con una idea: Docker separa imágenes, contenedores, redes y volúmenes. Una imagen es la plantilla; un contenedor es una ejecución de esa imagen; las redes conectan servicios; los volúmenes guardan datos persistentes.

TareaComando basePara qué sirve
Ver versión e informacióndocker version / docker infoComprobar cliente, servidor, storage driver y configuración general.
Listar contenedoresdocker psVer contenedores en ejecución o todos los contenedores con la opción adecuada.
Crear y ejecutardocker runArrancar un contenedor desde una imagen.
Ver logsdocker logsConsultar la salida generada por un contenedor.
Inspeccionardocker inspectVer configuración detallada en formato estructurado.
Gestionar Composedocker composeLevantar stacks definidos en un archivo Compose.
docker version
docker info
docker ps
docker ps -a

Estos comandos no modifican recursos importantes. Sirven para orientarte: saber si Docker está funcionando, qué contenedores existen y cuál es el estado inicial antes de actuar.

Contenedores: crear, detener y revisar

La gestión de contenedores es el núcleo del trabajo diario. Aquí entran comandos para arrancar servicios, detenerlos, reiniciarlos y revisar su estado.

Crear y ejecutar un contenedor

docker run --name web-demo -d -p 8080:80 nginx:stable
docker ps

Este ejemplo arranca un contenedor Nginx en segundo plano, le da un nombre y publica el puerto 80 del contenedor como 8080 en el host. Usar un tag estable y explícito evita depender de una etiqueta flotante sin control.

Detener, iniciar y reiniciar

docker stop web-demo
docker start web-demo
docker restart web-demo

Estos comandos cambian el estado del contenedor, pero no eliminan la imagen ni los datos persistidos en volúmenes. Son útiles para pruebas y para aplicar cambios cuando el contenedor ya existe.

Ver logs y entrar al contenedor

docker logs web-demo
docker logs -f web-demo
docker exec -it web-demo sh

Los logs ayudan a entender si la aplicación arrancó bien. El acceso con exec sirve para depurar desde dentro del contenedor, aunque no debería convertirse en una forma permanente de configurar aplicaciones. Lo reproducible debe quedar en Dockerfile, Compose o variables de entorno.

Imágenes Docker

Las imágenes son la base desde la que arrancan los contenedores. Puedes descargarlas, construirlas, etiquetarlas y eliminarlas cuando ya no sean necesarias.

docker image ls
docker pull nginx:stable
docker build -t mi-app:1.0 .
docker image inspect mi-app:1.0

Para proyectos propios, es recomendable usar etiquetas claras como versión, entorno o commit. Evita basar procesos importantes solo en latest, porque puede cambiar con el tiempo y dificultar la reproducción de un problema.

Si quieres profundizar en este tema, puedes revisar también la lección de imágenes de Docker.

Redes y volúmenes

Muchos problemas con contenedores vienen de no separar bien conectividad y persistencia. Las redes permiten comunicar servicios; los volúmenes permiten conservar datos aunque un contenedor se borre.

Comandos de redes

docker network ls
docker network create red_app
docker network inspect red_app
docker network rm red_app

Crea redes por proyecto cuando necesites aislar servicios. En Docker Compose esto suele quedar definido en el archivo del proyecto, pero conocer los comandos manuales ayuda a diagnosticar problemas.

Comandos de volúmenes

docker volume ls
docker volume create datos_app
docker volume inspect datos_app
docker volume rm datos_app

Precaución: no elimines volúmenes sin comprobar qué datos contienen. Un volumen puede guardar bases de datos, uploads, configuraciones o información difícil de recuperar si no tienes copia de seguridad.

Para ampliar estos dos bloques, tienes las guías de redes en Docker y volúmenes en Docker.

Docker Compose en el día a día

Cuando una aplicación necesita varios servicios, Compose es más cómodo que lanzar contenedores uno por uno. Permite declarar servicios, redes, volúmenes, variables y puertos en un archivo versionable.

docker compose up -d
docker compose ps
docker compose logs -f
docker compose down

Con estos comandos levantas el stack, revisas el estado, miras logs y lo detienes. Antes de usar down en un entorno compartido, revisa el archivo Compose y confirma si se usan volúmenes nombrados o datos importantes.

docker compose config
docker compose pull
docker compose up -d --build

docker compose config valida y muestra la configuración final interpretada por Compose. Es útil para detectar errores de YAML, variables no expandidas o configuraciones que no quedaron como esperabas.

Limpieza y mantenimiento seguro

Docker puede acumular contenedores detenidos, imágenes antiguas, redes sin uso y caché de construcción. Limpiar es útil, pero hay que hacerlo con criterio para no borrar recursos que todavía necesitas.

docker system df
docker container prune
docker image prune
docker network prune

Advertencia: los comandos prune eliminan recursos no utilizados según el tipo de recurso. Antes de ejecutarlos en una máquina de trabajo o producción, revisa qué proyectos están detenidos, qué imágenes necesitas conservar y si hay volúmenes con datos importantes.

docker system prune
docker system prune -a

docker system prune puede ser útil para liberar espacio, pero docker system prune -a es más agresivo porque también puede eliminar imágenes no usadas por contenedores actuales. No lo uses por rutina si no tienes claro el impacto.

Errores comunes al usar comandos Docker

  • Ejecutar comandos de limpieza sin revisar: primero usa docker system df y lista recursos antes de borrar.
  • Confundir imagen y contenedor: borrar un contenedor no borra necesariamente la imagen, y borrar una imagen no elimina un volumen con datos.
  • Depurar cambios dentro del contenedor: puede servir en una emergencia, pero los cambios reproducibles deben vivir en Dockerfile o Compose.
  • Publicar puertos de más: no todos los servicios necesitan estar accesibles desde el host.
  • Usar latest sin control: para entornos importantes, usa tags explícitos y una estrategia clara de actualización.

Una buena práctica es trabajar siempre con nombres claros. Si nombras contenedores, redes y volúmenes por proyecto, luego es más fácil entender qué pertenece a cada aplicación y evitar borrados accidentales.

Buenas prácticas con comandos Docker

Usa primero comandos de lectura: ps, logs, inspect, image ls, volume ls, network ls y system df. Después decide si necesitas arrancar, detener, reconstruir o limpiar. Este orden reduce errores y te da contexto antes de modificar el sistema.

En equipos o servidores compartidos, documenta los comandos repetibles en scripts, Makefiles o archivos Compose. Así evitas depender de pasos manuales recordados de memoria y puedes revisar los cambios antes de aplicarlos.

Por último, trata los comandos Docker destructivos como operaciones sensibles. Detener un contenedor puede cortar un servicio; borrar una imagen puede obligar a descargarla de nuevo; borrar un volumen puede implicar pérdida de datos.

Lecciones relacionadas del curso Docker

Documentación oficial y recursos

Con esta base ya puedes moverte por Docker con más seguridad: primero observas, luego actúas y, cuando el comando pueda borrar recursos, revisas el impacto antes de confirmar. Ese hábito marca la diferencia entre probar Docker y administrarlo con criterio.

Comentarios

No hay comentarios aún. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *