Docker es una plataforma que ayuda a los desarrolladores a crear y desplegar aplicaciones en contenedores. Ayuda a resolver los problemas de compatibilidad de los sistemas operativos proporcionando entornos virtualizados ligeros para gestionar esas aplicaciones.
La principal interfaz de línea de comandos (CLI) de Docker proporciona potentes herramientas a los desarrolladores que trabajan con contenedores. Empezando por el comando base docker
, la CLI admite casi 60 subcomandos, la mayoría de los cuales aceptan varios argumentos de línea de comandos para abordar diferentes tareas.
Manos a la Obra con la CLI de Docker
Tu entorno Docker puede ser el Docker Engine de código abierto o la interfaz gráfica de usuario de Docker Desktop. La CLI será tu interfaz principal en un entorno Docker Engine, pero también tendrás acceso a la herramienta de línea de comandos si instalas Docker Desktop.
Creemos que incluso los usuarios de Docker Desktop terminarán pasándose a la CLI una vez que se familiaricen con al menos estos 20 comandos docker
esenciales.
Comandos Docker que Debes Conocer
Profundicemos y averigüemos con qué comandos de Docker deberías estar más familiarizado.
1. docker system
El comando docker system
ayuda a inspeccionar y gestionar el entorno Docker. Admite argumentos de línea de comandos para realizar tareas específicas relacionadas con la gestión, entre las que se incluyen:
df
muestra cómo estás utilizando el discoprune
elimina redes, contenedores, imágenes o volúmenes no utilizadosinfo
muestra información relacionada con el sistemaevents
muestra un registro de eventos del sistema en tiempo real
A continuación se muestra el mensaje inicial tras ejecutar docker system prune
.
2. docker context
Este comando te ayuda a navegar y configurar diferentes contextos. En Docker, los contextos incluyen nombres, información de seguridad de la capa de transporte, configuraciones de endpoints y orquestadores.
Algunos de los argumentos docker context
:
ls
muestra los detalles del contexto por defectoinspect [CONTEXT}
inspecciona un contexto especificadocreate [CONTEXT]
crea un nuevo contextouse [CONTEXT]
cambia entre contextos
A continuación se muestra un ejemplo de la salida de docker context ls
:
3. docker pause and unpause
El comando docker pause
congela los procesos activos de un contenedor. Para ejecutarlo, debes especificar el nombre del contenedor, como se muestra a continuación:
docker pause [CONTAINER]
A continuación se muestra un ejemplo de la salida que puedes esperar tras pausar un contenedor.
El comando docker unpause
reanuda los procesos pausados de un contenedor. Al igual que el comando anterior, debes especificar el nombre del contenedor, como se muestra a continuación:
docker unpause [CONTAINER]
A continuación se muestra un ejemplo de la salida que puedes esperar tras desbloquear un contenedor.
4. docker rm
Este comando elimina contenedores, volúmenes y redes. Permite seleccionar el componente a eliminar en función de sus atributos. Por ejemplo, puedes forzar la eliminación de contenedores en ejecución o de todos los contenedores especificados:
docker rm [CONTAINER]
elimina el contenedor cuyo nombre se especifique. La salida de este comando está en la captura de pantalla siguiente.
5. docker rmi
Utiliza este comando para eliminar imágenes. Puedes eliminar una sola imagen o varias a la vez. Puedes describir la imagen a eliminar utilizando el ID corto o el ID largo. Este comando es importante para mantener el nodo host limpio y eficiente.
El comando para eliminar imágenes utiliza esta estructura:
docker rmi [IMAGE ID]
A continuación se muestra un ejemplo de su salida.
6. docker volume
Este comando te permite gestionar volúmenes en Docker. Puedes utilizarlo para crear, eliminar, listar e inspeccionar volúmenes.
Algunos de los argumentos de docker volume
son:
create [OPTIONAL NAME]
crea un nuevo volumen. Puedes especificar el nombre del volumen o dejar que Docker genere un nombre aleatorio.ls
lista los volúmenes disponiblesinspect [NAME]
muestra información detallada del volumen.rm [NAME]
elimina un volumen de Docker.
A continuación se muestra un ejemplo de la salida tras crear un volumen.
7. docker search
Utiliza este comando para buscar imágenes de Docker Hub, que luego podrás ejecutar como contenedores en tu máquina. Te permite acceder a las imágenes del registro de Docker Hub sin visitar el sitio web.
El comando sigue esta estructura: docker search
. Puedes especificar los nombres de las imágenes que buscas o crear un filtro.
A continuación se muestra un ejemplo de la salida de la siguiente consulta:
docker search --filter is-official=true --filter stars=500 mysql
8. docker push
El comando docker push
te permite compartir tus imágenes en el registro Docker Hub o en un repositorio privado.
La estructura del comando es
docker push [OPTIONS] NAME[:TAG]
[OPTIONS]
te permite establecer -disable-content-trust
.
Por defecto, este valor es verdadero, y no es obligatorio incluirlo.
NAME[:TAG]
requiere utilizar el nombre del registro, el repositorio y la etiqueta de imagen.
A continuación se muestra un ejemplo de la salida de docker push
.
9. docker pull
Este comando descarga una imagen Docker de un repositorio en un registro privado o público.
El comando funciona así
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Este comando te permite utilizar imágenes existentes en lugar de crear otras nuevas siempre que debas crear una aplicación en contenedores.
El ejemplo siguiente muestra la salida de un comando docker pull
:
10. docker ps
Por defecto, este comando muestra la lista de todos los contenedores en ejecución. Sin embargo, puedes añadir una bandera para listar los contenedores en función de atributos como el tamaño de uso del disco, los contenedores enlazados y las etiquetas.
El comando sigue la siguiente estructura:
docker ps [OPTIONS]
Algunos de sus argumentos son
-a
muestra una lista de los contenedores en ejecución y de los que han finalizado-s
muestra el tamaño en disco y el tamaño virtual de cada contenedor
Puedes utilizar los dos juntos así:
docker ps -as
A continuación se muestra un ejemplo de la salida de un comando docker ps
.
11. docker tag
Utiliza esta etiqueta para añadir metadatos, como la versión, a tu imagen. Las etiquetas suelen crearse cuando se construye una imagen, pero el comando docker tag
te permite añadir una etiqueta más tarde, creando esencialmente un alias para la imagen de destino.
Este comando sigue la siguiente estructura:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
En el ejemplo siguiente, listamos imágenes con el nombre «redis» Tras etiquetar la imagen con un número de versión («2.0»), aparecen en la lista el nuevo alias y la imagen etiquetada originalmente.
12. docker rename
Utiliza este comando para renombrar un contenedor. Es útil cuando tienes varios contenedores y quieres diferenciarlos en función de su finalidad.
Este comando sigue la siguiente estructura:
docker rename [OLD_NAME] [NEW_NAME]
A continuación se muestra un ejemplo de salida antes y después de un comando docker rename
.
13. docker commit
Este comando te permite crear nuevas imágenes después de realizar cambios en los archivos de un contenedor. Esto es importante porque te permite depurar un contenedor utilizando un shell interactivo.
Este comando sigue la siguiente estructura
docker commit [CONTAINER_ID] [name-of-new-image]
A continuación se muestra un ejemplo y una salida del comando docker commit
command.
14. docker network
Es un comando de gestión de red que te permite crear potentes aplicaciones conectando servicios y contenedores.
El comando tiene la siguiente estructura:
docker network [OPTIONS]
Sus argumentos incluyen:
connect
para conectar contenedores a redescreate
para crear nuevas redesdisconnect
para desconectar de las redes los contenedores en ejecuciónrm
para eliminar una o varias redes
A continuación se muestra la salida de un comando docker network create
.
15. docker history
Este comando proporciona el historial de una imagen especificada, ayudándote a comprender cómo se creó y mostrando el tamaño de la imagen.
El comando tiene la siguiente estructura:
docker history [IMAGE]
A continuación, vemos el historial asociado a la imagen redis:latest
.
16. docker update
Este comando te permite actualizar la configuración de un contenedor. Ayuda a evitar que los contenedores consuman demasiados recursos del host Docker. El formato del comando es
docker update [OPTIONS] [CONTAINER]
Algunas de sus opciones son:
--restart
actualiza la política de reinicio de un contenedor--memory
establece el límite de memoria de un contenedor--cpus
establece el número de CPUs asignadas
A continuación se muestra un ejemplo de salida de un comando docker update
.
17. docker plugin install
Este comando te permite gestionar plugins. Es esencial porque permite añadir nuevas funcionalidades sin alterar las configuraciones del host Docker.
Los argumentos de docker plugin
incluyen:
create
para crear nuevos pluginsenable
para activar plugins instaladosinstall
para instalar nuevos pluginsrm
para eliminar uno o varios pluginsls
mostrar una lista de plugins
A continuación, utilizamos docker plugin install
para añadir un plugin a nuestro entorno. A continuación, utilizamos docker plugin ls
para mostrar su estado.
18. docker container
Este comando te permite gestionar contenedores. Lo utilizas para realizar acciones como crear, detener y eliminar contenedores, entre otras.
Las opciones de docker container
incluyen:
create
para crear un contenedorcommit
para crear una nueva imagen después de realizar cambios en un contenedorexec
para ejecutar comandos dentro de un contenedor en ejecuciónkill
para detener un contenedor en ejecuciónls
para mostrar una lista de contenedores dentro de un host Dockerrestart
reiniciar un contenedorrun
crear un contenedor a partir de una imagen y ejecutarlorm
eliminar un contenedor de un servidor Docker
A continuación se muestra un ejemplo de la salida de un comando docker container
.
19. docker logs
Este comando recupera los registros de un contenedor. Proporciona información sobre las operaciones de un contenedor, que puede ser esencial a la hora de depurar.
A continuación se muestra un ejemplo de la salida de un comando docker logs
.
20. docker swarm
Este comando ayuda a gestionar un enjambre Docker (Docker swarm) — un grupo de máquinas (virtuales o físicas) que ejecutan Docker y están configuradas para trabajar juntas en un clúster. Este comando facilita la configuración de un enjambre y el disfrute de sus ventajas.
A continuación se indican algunas de las opciones de docker swarm
:
init
para iniciar un enjambrejoin
para unirse a un enjambreleave
para abandonar un enjambreupdate
para actualizar un enjambre
A continuación se muestra un ejemplo y la salida de un comando docker swarm init
.
Resumen
Docker es una herramienta eficaz para crear y gestionar aplicaciones en contenedores. Los comandos fáciles de entender de su CLI facilitan la creación y manipulación incluso de aplicaciones complejas.
Dominar los 20 comandos anteriores puede acelerar el desarrollo de tus aplicaciones en contenedores.
En Kinsta, muchos clientes de Alojamiento Administrado de WordPress utilizan nuestras herramientas DevKinsta basadas en Docker-Desktop para desarrollar y desplegar sus sitios web.
Los clientes del servicio de Alojamiento de Aplicaciones de Kinsta pueden trabajar con Docker y su proveedor de Git favorito (Bitbucket, GitHub o GitLab) para el control de versiones del código fuente y el despliegue rápido de aplicaciones en contenedores.
Deja una respuesta