Docker: Pierwsze kroki
Szybkie i bezpieczne zdalne zarządzanie Dockerem dzięki Stackhero for Docker
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.
Jak korzystać ze zdalnego Docker CLI
Docker CLI musi być zainstalowany na Twoim komputerze. Jeśli jeszcze go nie zainstalowałeś, możesz pobrać go z oficjalnej strony Dockera: Docker Desktop.
Dzięki Stackhero for Docker możesz zarządzać swoimi kontenerami zdalnie za pomocą Docker CLI, dokładnie tak samo jak lokalnie. Oznacza to, że zachowujesz swój dotychczasowy sposób pracy, ale teraz możesz wykonywać polecenia bezpośrednio na swoim serwerze Docker gotowym do produkcji – bezpiecznie i wydajnie.
To wszystko jest możliwe dzięki tzw. "kontekstom" Dockera (Docker contexts). Konteksty pozwalają określić, gdzie Docker CLI ma wysyłać Twoje polecenia: do lokalnego demona Dockera lub do instancji Stackhero for Docker. Przełączanie kontekstów jest szybkie i bezproblemowe.
Instalacja certyfikatów Docker
Aby bezpiecznie połączyć się z instancją Stackhero for Docker, musisz zainstalować jej certyfikaty na swoim komputerze. Certyfikaty te odpowiadają za uwierzytelnianie i szyfrowanie, dzięki czemu Twoje połączenie pozostaje prywatne i chronione.
Możesz użyć poniższego polecenia, aby pobrać i skonfigurować certyfikaty:
# HOST to domena Twojej instancji Docker (<XXXXXX>.stackhero-network.com).
# SERVICE_ID to identyfikator Twojej usługi Stackhero.
# CERTIFICATES_PASSWORD to hasło zdefiniowane w konfiguracji Dockera na panelu Stackhero.
(export HOST="<XXXXXX>.stackhero-network.com"
export SERVICE_ID="<SERVICE_ID>"
export CERTIFICATES_PASSWORD="<CERTIFICATES_PASSWORD>"
cd /tmp/ \
&& curl -o certificates.tar https://docker:$CERTIFICATES_PASSWORD@$HOST/stackhero/docker/certificates.tar \
&& tar -xf certificates.tar \
&& (docker context rm -f $HOST 2> /dev/null || true) \
&& docker context create $HOST \
--description "$SERVICE_ID ($HOST)" \
--docker "host=tcp://$HOST:2376,ca=ca.pem,cert=cert.pem,key=key.pem")
To polecenie utworzy kontekst Dockera nazwany zgodnie z domeną Twojej usługi. Wszystkie dostępne konteksty możesz wyświetlić poleceniem:
docker context ls
Jeśli zmienisz domenę swojej usługi, certyfikaty zostaną zmienione. Będziesz musiał zainstalować je ponownie, aby połączyć się bezpiecznie.
Uruchamianie kontenerów Docker zdalnie
Domyślnie polecenie docker ps pokazuje kontenery na Twoim lokalnym komputerze. Na przykład uruchomienie:
docker run --rm alpine wget -q -O - ifconfig.me
zwróci Twój lokalny publiczny adres IP, ponieważ kontener działa na Twoim komputerze.
Aby pracować zdalnie, przełącz kontekst Dockera na swoją instancję Stackhero for Docker:
docker context use <XXXXXX>.stackhero-network.com
Od tego momentu każde polecenie Docker CLI będzie wykonywane na Twoim zdalnym serwerze Docker. Uruchomienie tego samego polecenia sprawdzającego IP:
docker run --rm alpine wget -q -O - ifconfig.me
wyświetli publiczny adres IP Twojej instancji Stackhero for Docker. To potwierdza, że Twoje kontenery działają na zdalnym serwerze.
Aby wrócić do lokalnego demona Dockera, wystarczy wykonać:
docker context use default
Gdy montujesz wolumen w zdalnym kontenerze, dostępne pliki pochodzą z serwera zdalnego, a nie z Twojego lokalnego komputera. Na przykład
docker run -it -v ${PWD}:/mnt alpinezamontuje katalog zdalny, a nie Twój aktualny katalog lokalny.
Wdrażanie z Docker Compose
Docker Compose również korzysta z aktualnie ustawionego kontekstu Dockera. Po ustawieniu kontekstu na instancję zdalną poleceniem:
docker context use <XXXXXX>.stackhero-network.com
każde polecenie Docker Compose będzie wykonywane na Twoim zdalnym serwerze. Dzięki temu wdrażanie aplikacji wielokontenerowych jest równie proste jak lokalnie, ale odbywa się bezpośrednio w środowisku produkcyjnym.
Przełączanie kontekstów za pomocą
docker contextjest wygodne podczas pracy interaktywnej. W przypadku skryptów lub Makefile'ów zmienna środowiskowaDOCKER_CONTEXTdaje większą kontrolę. Więcej szczegółów znajdziesz w naszej dokumentacji zaawansowanej.
Aby dowiedzieć się więcej o kontekstach Dockera, zapoznaj się z oficjalną dokumentacją Docker dotyczącą kontekstów.