Docker: Nutzung von Docker-Kontexten in Makefiles

Diese Dokumentation ist Teil des Erweiterte Nutzung von Kontexten-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie man Docker-Kontexte in Ihren Skripten verwendet.

Willkommen in der Stackhero-Dokumentation

Stackhero bietet eine einsatzbereite Docker Cloud CaaS (Containers as a Service) Plattform, die für schnelle und zuverlässige Container-Bereitstellungen entwickelt wurde:

  • Deployment in die Produktion mit nur einem docker-compose up. Es ist keine zusätzliche Konfiguration erforderlich: Starten Sie einfach Ihre Container.
  • Wählen Sie Ihren eigenen Domainnamen, der automatisch per HTTPS gesichert wird (zum Beispiel: https://api.ihr-unternehmen.com, https://www.ihr-unternehmen.com oder https://backoffice.ihr-unternehmen.com).
  • Profitieren Sie von hoher Performance und robuster Sicherheit auf einer privaten, dedizierten Infrastruktur.
  • Updates können mit nur einem Klick angewendet werden – für eine einfache und unkomplizierte Wartung.

Ihre Container sind in etwa fünf Minuten produktiv einsatzbereit. Stackhero übernimmt für Sie das Infrastrukturmanagement, Updates und die Sicherheit, sodass Sie sich ganz auf die Entwicklung Ihrer Anwendungen konzentrieren können. Erfahren Sie mehr über das Docker CaaS Cloud Hosting.

Sie können die Variable DOCKER_CONTEXT auch in einem Makefile festlegen. Hier ist ein Beispiel für das Exportieren der Variable und das Ausführen eines Docker-Containers:

# Makefile
export DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com

getIp:
	docker run --rm alpine wget -q -O - ifconfig.me

Nachdem Sie das Makefile erstellt haben, rufen Sie den Befehl auf mit:

make getIp

Wenn Sie den Fehler Makefile: *** missing separator. Stop. erhalten, stellen Sie sicher, dass die Zeile docker run [...] mit einem TAB-Zeichen und nicht mit Leerzeichen beginnt.

Sie können die Konfiguration weiter vereinfachen, indem Sie eine .env-Datei in Ihr Makefile einbinden. Dieser Ansatz gewährleistet eine zentrale Verwaltung Ihrer Umgebungsparameter:

# Makefile
include .env
export

getIp:
	docker run --rm alpine wget -q -O - ifconfig.me

Erstellen Sie eine .env-Datei mit diesem Inhalt:

DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com

Führen Sie dann den Befehl aus:

make getIp

Wenn Sie den Fehler Makefile: *** missing separator. Stop. erhalten, überprüfen Sie, ob die Zeile docker run [...] mit einem TAB-Zeichen anstelle von Leerzeichen beginnt.