Comandos Avanzados de Docker Run
Si bien el comando básico docker run es suficiente para muchos casos de uso, Docker proporciona una amplia gama de opciones para personalizar y ajustar el comportamiento de tus contenedores. A continuación, se presentan algunos comandos avanzados de docker run y sus casos de uso.
Variables de Entorno
Puedes pasar variables de entorno a un contenedor utilizando la bandera -e o --env. Esto es útil para configurar la configuración de la aplicación o conectarse a servicios externos.
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mypassword mysql:latest
Montaje de Volúmenes
Los volúmenes te permiten persistir datos fuera del sistema de archivos del contenedor. Esto es particularmente importante para aplicaciones con estado que necesitan conservar los datos entre reinicios del contenedor.
docker run -d -p 80:80 -v /path/on/host:/var/www/html nginx:latest
Redes
Puedes conectar contenedores a redes personalizadas utilizando la bandera --network. Esto permite que los contenedores se comuniquen entre sí de forma segura y eficiente.
docker network create my-network
docker run -d --network my-network --name db mysql:latest
docker run -d --network my-network --name web nginx:latest
Restricciones de Recursos
Puedes limitar los recursos (CPU, memoria, etc.) disponibles para un contenedor utilizando varias banderas, como --cpus, --memory y --memory-swap.
docker run -d --cpus=2 --memory=4g nginx:latest
Comprobaciones de Salud
La bandera --health-cmd te permite especificar un comando para comprobar el estado de un contenedor en ejecución. Esto es útil para controlar el estado de tus aplicaciones.
docker run -d --health-cmd="curl -f http://localhost || exit 1" nginx:latest
Al comprender estos comandos avanzados de docker run, puedes crear aplicaciones Docker más complejas y sofisticadas que satisfagan tus requisitos específicos.