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) Lösung, die zahlreiche Vorteile bietet, darunter:

  • Einfache Bereitstellung Ihrer Container in der Produktion mit nur einem docker-compose up.
  • Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://api.ihre-firma.com, https://www.ihre-firma.com, https://backoffice.ihre-firma.com).
  • Optimale Leistung und robuste Sicherheit durch eine private und dedizierte VM.
  • Mühelose Updates mit nur einem Klick.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Docker CaaS Cloud Hosting Lösung von Stackhero auszuprobieren und Ihre Container in der Produktion bereitzustellen!

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.