Comandos esenciales de Docker: Uso y documentación
Todos los cursos GRATIS
Se acaba en:
:::
Resumen
Dominar Docker implica conocer tanto su interfaz gráfica (Docker Desktop) como su terminal de comandos. Ambas alternativas ofrecen ventajas específicas, así que es ideal familiarizarse con las dos para aprovechar mejor el potencial de Docker.
¿Cómo verificar la versión de Docker instalada?
Una acción básica para comprobar nuestra instalación es utilizar la línea de comandos con el comando:
docker version
Este comando confirma que Docker está instalado correctamente y muestra la versión actual y el build correspondiente, asegurando que todo esté listo para trabajar sin complicaciones.
¿Qué información relevante aporta docker info?
Con el comando:
docker info
Puedes acceder a detalles importantes sobre el hardware disponible o asignado a Docker en tu sistema. Muestra especificaciones relevantes como la memoria, procesador y GPU disponibles, información útil para decidir futuros ajustes en tu equipo.
¿Cuáles son los comandos básicos equivalentes a Docker Desktop?
Docker Desktop tiene una interfaz visual amigable, pero es fundamental conocer su equivalente en línea de comandos. Estos son algunos ejemplos clave que puedes memorizar:
Listar imágenes disponibles:
docker images
Ver contenedores activos:
dockerps
Explorar opciones de comandos específicos con ayuda:
docker images --help
Estos comandos ofrecen funcionalidades equivalentes a las categorías gráficas, simplificando el intercambio entre interfaz gráfica y terminal.
¿Por qué aprovechar la documentación integrada de Docker?
Docker facilita una documentación integrada extensa y clara a través del comando docker help o añadiendo --help tras comandos específicos. Es particularmente útil cuando trabajas con comandos complejos como:
docker build: Crea imágenes a partir de archivos Dockerfile.
docker run: Ejecuta contenedores a partir de imágenes disponibles.
Ambos comandos tienen múltiples parámetros, pero la documentación proporcionada al utilizar --help facilita enormemente entender cada opción y explicación disponible.
Explorar ambas formas de interactuar con Docker —Docker Desktop y línea de comandos— te permitirá decidir cuál es más adecuada y cómoda según tus preferencias y estilo de trabajo. Te animo a compartir cuál de las dos opciones prefieres utilizar y por qué.
Me paso que al querer usar "docker images" me negaba el acceso, dado que mi usuario no se encontraba en el grupo docker, si tienen el mismo problema lo pueden añadir al grupo docker:
El sandbox de Docker, como Play with Docker, puede ser una herramienta viable para experimentar y practicar los conceptos del curso. Te permite crear contenedores y aprender a usar los comandos de Docker en un entorno seguro y accesible. Sin embargo, para un aprendizaje más profundo y completo, se recomienda utilizar una instalación local de Docker, ya que esto brindará una experiencia más cercana a los escenarios reales que enfrentarás al trabajar con Docker en proyectos reales.
🚀 Introducción a Docker: Línea de Comandos y Docker Desktop
Docker puede manejarse de dos formas principales: Docker Desktop con interfaz gráfica y la línea de comandos (CLI). Cada enfoque tiene ventajas distintas. Quienes vienen del mundo Linux suelen inclinarse hacia la terminal, pero la interfaz gráfica resulta práctica para tareas rápidas. Lo importante es dominar ambas herramientas para elegir la que mejor se adapte a cada necesidad.
🖥️ Verificación de Instalación y Primeros Comandos
El punto de partida siempre es confirmar que Docker funciona correctamente.
docker version
Permite verificar que la instalación fue exitosa y que la CLI se conecta al motor de Docker. Aunque Docker Desktop actualiza automáticamente la versión, este comando es la señal de que todo está listo para trabajar.
docker info
Proporciona información detallada sobre el entorno de ejecución: memoria, CPU, GPU y otros recursos del sistema.
Ejemplo: si notas que tus contenedores se ejecutan lento, esta información puede ayudarte a decidir aumentar memoria o CPU en tu máquina.
📚 La Documentación de Docker: Una Aliada Clave
Uno de los mayores puntos fuertes de Docker es su documentación extensa y clara, accesible desde la terminal.
docker help
Muestra la lista de comandos disponibles.
docker comando --help
Explica en detalle los parámetros de un comando específico.
💡 Consejo: incluso sin ejecutar contenedores, explorar la documentación (docker build --help, docker run --help) es una forma muy práctica de descubrir nuevas opciones.
🗂️ Gestión de Imágenes
Las imágenes son la base de todo en Docker.
En Docker Desktop: pestaña Images, donde se listan las imágenes locales.
En CLI:
docker images: lista las imágenes en el entorno.
Ejemplo hipotético: si has construido una imagen para tu aplicación web (miapp:1.0), aparecerá aquí y podrás gestionarla fácilmente.
📦 Gestión de Contenedores
Los contenedores son instancias vivas de las imágenes.
En Docker Desktop: pestaña Containers, donde se listan los contenedores activos o detenidos.
En CLI:
docker ps: muestra los contenedores activos.
docker ps -a: lista también los contenedores detenidos.
Ejemplo: tras ejecutar docker run -d nginx, verías el contenedor en la lista tanto en Docker Desktop como en la terminal.
🔨 Comandos Fundamentales
Durante cualquier flujo de trabajo en Docker, hay dos comandos que se utilizan constantemente:
docker build
Crea imágenes a partir de un Dockerfile.
Ejemplo: docker build -t miapp:1.0 . construye una imagen para la aplicación en el directorio actual.
docker run
Ejecuta contenedores a partir de una imagen.
Ejemplo: docker run -p 8080:80 miapp:1.0 levanta un contenedor que expone la app en el puerto 8080.
Ambos comandos incluyen múltiples parámetros que pueden explorarse con --help.
⚖️ Comparación entre Docker Desktop y CLI
La equivalencia entre ambos enfoques es clara: todo lo que se puede hacer con clics en Docker Desktop también se puede lograr con comandos en la terminal.
Ventajas de la CLI:
Ideal para automatización y scripts.
Mayor control y flexibilidad.
Ventajas de Docker Desktop:
Interfaz amigable y rápida.
Útil para visualizar imágenes, contenedores y logs sin escribir comandos largos.
Ejemplo práctico: detener un contenedor puede hacerse con docker stop id en CLI o con un clic en Docker Desktop.
📝 Conclusión y Recomendaciones
Aprender Docker implica moverse con fluidez entre CLI y Docker Desktop, entendiendo que ambos son caras de la misma moneda.
Puntos clave a recordar:
docker version y docker info son la base para validar la instalación y el entorno.
La documentación integrada es una herramienta insustituible para aprender parámetros y opciones.
docker images y docker ps permiten gestionar imágenes y contenedores fácilmente.
docker build y docker run son el corazón de cualquier flujo de trabajo en Docker.
Experimentar con ambos enfoques (CLI y GUI) acelera el aprendizaje y amplía la comprensión.
👉 Recomendación final: explora, prueba, rompe y vuelve a construir. La práctica constante con contenedores es la mejor forma de dominar Docker.
¿Quieres que convierta este mismo artículo en una guía más operativa con pasos prácticos, comandos secuenciales y recomendaciones de buenas prácticas para principiantes en Docker?
Quizás por la versión de Docker que es más actualizada (versión 29.6.1), algunas herramientas en la interfaz han cambiado, siendo más específico en la barra izquierda de tareas. Pero, la idea se mantiene y me parece fascinante la verdad.
No entendi por que en el video ya tenia una terminal de ubuntu abierto , intui que tenia que abrir el que instale en windos del WSL.
Pero al ejecutar el comando de la version de docker me salio que no lo reconocia. Me funciono la activando esta opcion del docker desktop.
Volvi a abrir la terminal de ubuntu y listo funciona el comando de docker
Desde la carpeta Downloads descargas el paquete .deb i creas un archivo install_docker.sh y copias lo siguiente:
# Clear out old versions of Docker if any are installed:sudoapt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc |cut -f1)# Add Docker's official GPG key:sudoapt update
sudoaptinstall ca-certificates curlsudoinstall -m 0755 -d /etc/apt/keyrings
sudocurl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudochmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:sudotee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release &&echo"${UBUNTU_CODENAME:-$VERSION_CODENAME}")Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOFsudoapt update
sudoapt-get update
sudoaptinstall ./docker-desktop-amd64.deb
systemctl --user start docker-desktop
Ejecutas con ./install_docker.sh
Les puede salir lo siguiente, y segun la documentación es normal.
N:Download is performed unsandboxed as root as file '/home/user/Downloads/docker-desktop-amd64.deb' couldn't be accessed by user '_apt'.- pkgAcquire::Run(13:Permission denied)Failed to connect to bus:No medium found
Si van a la documentación y siguen paso a paso es algo similar solo que al installar docker solo realizar el paso 1 ya que si realizan todo y despues instalan docker desktop se va a generar un conflicto y va a dejar de funcionar la CLI, si ya les paso eso y llegaron a ese punto desinstalen e instalen todo de nuevo.
Me parece super util manejar comandos, porque en las empresas usualmente trabajan linux en servidores lo que hace muy necesario interactuar con la consola y a veces no tanto con el apartado visual de las herramientas.
1. docker runEjecuta un contenedor nuevodocker run hello-world
2. docker psLista contenedores en ejecucióndocker ps
3. docker ps -aLista todos los contenedores (incluidos parados)docker ps -a
4. docker stopDetiene un contenedor en ejecucióndocker stop <container_id>
5. docker rmElimina un contenedor detenidodocker rm <container_id>
6. docker imagesLista las imágenes descargadas/localesdocker images
7. docker rmiElimina una imagendocker rmi <image_id>
8. docker logsMuestra los logs de un contenedordocker logs <container_id>
9. docker execEjecuta un comando dentro de un contenedor en ejecucióndocker exec -it <container_id> bash
10. docker buildConstruye una imagen Docker desde un Dockerfiledocker build -t myapp:1.0 .
Tuve este problema al ejecutar comandos de Docker en WSL
(permission denied while trying to connect to the docker API at unix:///var/run/docker.sock).
Ocurría porque mi usuario de Linux no pertenecía al grupo con permisos para interactuar con el socket del daemon.
Solución rápida:
Añade tu usuario al grupo docker (asegúrate de incluir el nombre del grupo antes del usuario):
sudo usermod -aG docker $USER
Aplica los cambios a la sesión actual sin reiniciar la terminal:
newgrp docker
Verifica que funcione sin sudo:
docker images
(Si usas Docker Desktop, asegúrate también de tener habilitada tu distribución en Settings > Resources > WSL Integration).
Tuve problemas al utilizar los comandos de Docker, so aqui dejo algunos pasos a seguir por si les pasa lo mismo (Esta solucion es para personas que tienen Mac y usan zsh como su shell en la terminal):
// 1. Verificar si Docker Desktop es instaladols /Applications| grep -i Docker// 2. Si el output es Docker.app - quiere decir que vamos por buen camino// 3. Verifica que Docker Desktop esta corriendo// 4. Agrega Docker al PATH // 4.1. Abre el archivo .zshrcnano ~/.zshrc// 4.2. Agrega la linea al final del archivoexportPATH="/Applications/Docker.app/Contents/Resources/bin:$PATH"// 4.3. Guarda el archivo (Ctrl + O, Enter) y cierralo (Ctrl + X).// 4.4. Reinicia la terminal, y ahora puede usar el comando Docker en tu terminal
Docker no tiene un comando nativo para eso, pero el truco está en delegar la tarea a tu terminal. Puedes usar la sustitución de comandos: docker build -t mi-imagen:$(date +%Y%m%d%H%M) ..
¿Cómo crees que este etiquetado dinámico podría complicar la forma en que tus otros servicios encuentran la imagen correcta para desplegar?
Me parece genial, buenos comandos, muchos parametros divertidos, eso es bueno me gusta mas que el desktop. Ocupo los dos, pero si ya soy mas de terminal.