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 Zeiledocker run [...]mit einem TAB-Zeichen und nicht mit Leerzeichen beginnt.
Nutzung von .env-Dateien in Makefiles
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 Zeiledocker run [...]mit einem TAB-Zeichen anstelle von Leerzeichen beginnt.