Docker: Usos avanzados de contextos
Cómo usar contextos de Docker en sus scripts
Bienvenido a la documentación de Stackhero
Stackhero ofrece una plataforma Docker cloud CaaS (Containers as a Service) lista para usar, diseñada para despliegues de contenedores rápidos y fiables:
- Despliegue en producción con un simple
docker-compose up. No necesita configuración adicional: simplemente inicie sus contenedores.- Elija su propio nombre de dominio, asegurado automáticamente con HTTPS (por ejemplo: https://api.su-empresa.com, https://www.su-empresa.com o https://backoffice.su-empresa.com).
- Disfrute de un alto rendimiento y una seguridad robusta sobre infraestructura privada y dedicada.
- Aplique actualizaciones con un solo clic para un mantenimiento sencillo y sin complicaciones.
Puede tener sus contenedores en producción en unos cinco minutos. Stackhero gestiona la infraestructura, las actualizaciones y la seguridad por usted, para que pueda centrarse en el desarrollo de sus aplicaciones. Lea más sobre el alojamiento cloud Docker CaaS.
Trabajar con comandos de Docker context use es ideal para ejecutar comandos manualmente. Pero al usar scripts, existen métodos alternativos más adecuados que simplifican el proceso. En lugar de invocar directamente el comando, puede establecer el contexto deseado utilizando la variable de entorno DOCKER_CONTEXT. Este enfoque se integra perfectamente en los flujos de trabajo de scripts y mantiene la claridad de la configuración.
En los ejemplos proporcionados, reemplace
<XXXXXX>.stackhero-network.comcon el dominio específico de su instancia de Docker (<XXXXXX>.stackhero-network.com).
Gestión de contextos de Docker en scripts bash
Aquí hay un ejemplo de cómo establecer el contexto de Docker dentro de un script bash:
#!/bin/bash
set -e
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
echo "IP de Docker para la instancia de Stackhero:"
docker run --rm alpine wget -q -O - ifconfig.me
Al establecer la variable de entorno DOCKER_CONTEXT, puede gestionar convenientemente el contexto activo directamente en sus scripts.
Externalización de la configuración con un archivo .env
Para evitar codificar la DOCKER_CONTEXT, puede cargar su valor desde un archivo .env. Este método mantiene organizados los ajustes del entorno y facilita los ajustes:
#!/bin/bash
set -e
source .env
echo "IP de Docker para la instancia de Stackhero:"
docker run --rm alpine wget -q -O - ifconfig.me
Cree un archivo .env con el siguiente contenido:
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
Utilización de contextos de Docker en Makefiles
También puede establecer la variable DOCKER_CONTEXT en un Makefile. Aquí hay un ejemplo de exportar la variable y ejecutar un contenedor de Docker:
# Makefile
export DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
getIp:
docker run --rm alpine wget -q -O - ifconfig.me
Después de crear el Makefile, invoque el comando usando:
make getIp
Si encuentra el error
Makefile: *** missing separator. Stop., asegúrese de que la líneadocker run [...]comience con un carácter TAB, no con espacios.
Aprovechamiento de archivos .env en Makefiles
Puede simplificar aún más la configuración incluyendo un archivo .env en su Makefile. Este enfoque asegura una gestión centralizada de sus ajustes de entorno:
# Makefile
include .env
export
getIp:
docker run --rm alpine wget -q -O - ifconfig.me
Cree un archivo .env con este contenido:
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
Luego ejecute el comando:
make getIp
Si encuentra el error
Makefile: *** missing separator. Stop., verifique que la líneadocker run [...]comience con un carácter TAB en lugar de espacios.