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 linia docker run [...] zaczyna się od znaku TAB, a nie od spacji.

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 linia docker run [...] zaczyna się od znaku TAB, a nie od spacji.