Docker: Wykorzystanie kontekstów Docker w Makefile
Ta dokumentacja jest częścią przewodnika Zaawansowane zastosowania kontekstów. Pełny przewodnik znajdziesz tutaj: Jak używać kontekstów Docker w swoich skryptach.
👋 Witamy w dokumentacji Stackhero!
Stackhero oferuje gotowe do użycia rozwiązanie Docker cloud CaaS (Containers as a Service), które zapewnia wiele korzyści, w tym:
- Łatwe wdrażanie kontenerów do produkcji za pomocą prostego
docker-compose up.- Dostosowywana nazwa domeny zabezpieczona HTTPS (na przykład, https://api.twoja-firma.com, https://www.twoja-firma.com, https://backoffice.twoja-firma.com).
- Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.
- Bezproblemowe aktualizacje za pomocą jednego kliknięcia.
Oszczędzaj czas i upraszczaj swoje życie: wystarczy 5 minut, aby wypróbować rozwiązanie Docker CaaS cloud hosting Stackhero i wdrożyć swoje kontenery do produkcji!
Można również ustawić zmienną DOCKER_CONTEXT w Makefile. Oto przykład eksportowania zmiennej i uruchamiania kontenera Docker:
# Makefile
export DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
getIp:
docker run --rm alpine wget -q -O - ifconfig.me
Po utworzeniu Makefile, wywołaj polecenie używając:
make getIp
Jeśli napotkasz błąd
Makefile: *** missing separator. Stop., upewnij się, że liniadocker run [...]zaczyna się od znaku TAB, a nie od spacji.
Wykorzystanie plików .env w Makefile
Można dodatkowo uprościć konfigurację, włączając plik .env w Makefile. To podejście zapewnia scentralizowane zarządzanie ustawieniami środowiska:
# Makefile
include .env
export
getIp:
docker run --rm alpine wget -q -O - ifconfig.me
Utwórz plik .env z tą zawartością:
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
Następnie wykonaj polecenie:
make getIp
Jeśli napotkasz błąd
Makefile: *** missing separator. Stop., sprawdź, czy liniadocker run [...]zaczyna się od znaku TAB, a nie od spacji.