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 gotową do użycia platformę Docker cloud CaaS (Containers as a Service), zaprojektowaną z myślą o szybkich i niezawodnych wdrożeniach kontenerów:
- Wdrażaj do produkcji za pomocą pojedynczego polecenia
docker-compose up. Nie jest wymagana żadna dodatkowa konfiguracja: po prostu uruchom swoje kontenery.- Wybierz własną nazwę domeny, automatycznie zabezpieczoną przez HTTPS (na przykład: https://api.twoja-firma.com, https://www.twoja-firma.com lub https://backoffice.twoja-firma.com).
- Korzystaj z wysokiej wydajności i solidnego poziomu bezpieczeństwa na prywatnej, dedykowanej infrastrukturze.
- Aktualizuj środowisko jednym kliknięciem, co zapewnia prostą i bezproblemową konserwację.
Twoje kontenery mogą działać w środowisku produkcyjnym już w około pięć minut. Stackhero zarządza infrastrukturą, aktualizacjami i bezpieczeństwem za Ciebie, dzięki czemu możesz skupić się na dostarczaniu swoich aplikacji. Dowiedz się więcej o hostingu Docker CaaS w chmurze.
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.