Docker: Utilización de contextos de Docker en Makefiles

Esta documentación forma parte de la guía Usos avanzados de contextos. Consulte la guía completa aquí: 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.

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ínea docker run [...] comience con un carácter TAB, no con espacios.

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ínea docker run [...] comience con un carácter TAB en lugar de espacios.