Comandos esenciales de Docker: Uso y documentación
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:
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
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.
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 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.
Dominar Docker requiere familiarizarse con la Interfaz Gráfica (Docker Desktop) y la Línea de Comandos (Terminal) para aprovechar todo su potencial.
El comando docker version es una acción básica para verificar la correcta instalación y el build actual de Docker.
El comando docker info proporciona detalles relevantes del hardware (memoria, CPU, GPU) asignado a Docker en el sistema.
La interfaz gráfica de Docker Desktop tiene equivalentes directos en la terminal, cruciales para la automatización.
Para listar las imágenes disponibles en local, se utiliza el comando docker images.
Para ver los contenedores que se encuentran actualmente activos, se emplea el comando docker ps.
El comando docker build es esencial para crear imágenes a partir de archivos Dockerfile.
El comando docker run se utiliza para ejecutar contenedores a partir de una imagen existente.
Docker facilita una documentación integrada al añadir --help a cualquier comando (ej. docker build --help).
La capacidad de moverse entre la interfaz gráfica y la terminal permite al desarrollador elegir el método más eficiente según la tarea o el entorno de trabajo.