Przewodnik wdrożeniowy Frankfurt nad Menem, Niemcy

Wdróż Docker na Nodion

Gdy w Twoim repozytorium jest Dockerfile, Nodion wybiera strategię Dockerfile, buduje obraz we Frankfurcie nad Menem i uruchamia go jako proces webowy Twojej aplikacji. Buildy wieloetapowe (multi-stage), .dockerignore i build args działają tak jak zwykle, a gotowe obrazy z Docker Hub, GHCR lub prywatnego rejestru działają tak samo.

Wdróż na Nodion ›

od 1 EUR / mies.

Do 15 € środków na start przy rejestracji

Strategia
Dockerfile, zaznaczana automatycznie, gdy plik istnieje
Port
Z EXPOSE, bez zmiennej PORT
Obrazy
Buildy z Gita lub gotowe obrazy
Region
EU Central (Frankfurt)

Wdróż Docker krok po kroku

  1. Nasłuchuj na 0.0.0.0 i podaj port w EXPOSE Nodion buduje Twój Dockerfile bez zmian i uruchamia CMD lub ENTRYPOINT obrazu. Nie ustawia zmiennej PORT: Twój serwer nasłuchuje na wszystkich interfejsach na stałym porcie, a EXPOSE wskazuje formularzowi tworzenia aplikacji port. Buildy wieloetapowe działają; uruchamiany jest ostatni etap (stage). Dockerfile
    FROM python:3.13-slim
    WORKDIR /app
    COPY requirements.txt .
    RUN pip install --no-cache-dir -r requirements.txt
    COPY . .
    EXPOSE 8000
    CMD ["gunicorn", "app:app", "--bind", "0.0.0.0:8000"]
  2. Utwórz aplikację W dashboardzie utwórz aplikację ze swojego repozytorium GitHub, GitLab, Bitbucket lub Gitea, wybierz branch i region EU Central. Jeśli w repozytorium jest Dockerfile, formularz zaznacza strategię Dockerfile i uzupełnia port na podstawie EXPOSE. W monorepo ustaw Base directory (kontekst buildu) i nazwę pliku Dockerfile.
  3. Przekaż wartości na czas buildu jako build args Zmienne z zaznaczoną opcją Build w zakładce Environment trafiają do buildu jako Docker build args, więc zadeklaruj je przez ARG na etapie, który je odczytuje. Wszystkie inne zmienne oraz podłączone bazy danych, takie jak DATABASE_URL, istnieją dopiero wtedy, gdy kontener działa. Dockerfile
    FROM node:24-slim AS build
    ARG VITE_API_URL
    WORKDIR /app
    COPY . .
    RUN npm ci && npm run build
  4. Uruchamiaj migracje raz przy każdym wdrożeniu Ustaw polecenie migracji jako polecenie release aplikacji: uruchamia się raz przy każdym wdrożeniu, z nowego obrazu, zanim wystartuje nowa wersja. Jeśli zakończy się błędem, wdrożenie zostanie zatrzymane, a działająca wersja nadal obsługuje ruch. Ustaw je w polu API release_command; w panelu to pole pojawia się obecnie w ustawieniach aplikacji dopiero po włączeniu środowisk podglądu (preview). Migracje można też uruchamiać w entrypoincie lub poleceniu startowym, ale wtedy każda instancja uruchamia je przy każdym starcie.
  5. Wdrażaj przez push Każdy push do brancha buduje nowy obraz we Frankfurcie. Ruch przechodzi na niego, gdy proces web odpowie na ścieżce health checku (domyślnie /) kodem 2xx lub 3xx. Instrukcja HEALTHCHECK Dockera w obrazie jest ignorowana.

Warto wiedzieć

  • Brak zmiennej PORTJeśli Twój serwer odczytuje PORT, ustaw tę zmienną samodzielnie, przez ENV PORT=8000 w Dockerfile albo jako zmienną w zakładce Environment, i ustaw taką samą wartość jak port procesu webowego.
  • Gotowe obrazyPomiń build z Gita i wdróż obraz z Docker Hub, GitHub Container Registry, rejestru Nodion albo prywatnego rejestru, którego dane dostępowe są zapisane w Nodion. Obowiązują te same zasady dotyczące portu i health checku.
  • USER, .dockerignore i commitUSER obrazu jest respektowany, .dockerignore w kontekście buildu jest stosowany, a .git nigdy nie trafia do buildu. Zadeklaruj ARG NODION_GIT_SHA, aby zapisać hash commita w obrazie.

Czym Nodion zajmuje się za Ciebie

  • Wdrożenia bez przestojów Wypchnij zmiany do swojej gałęzi, a Nodion zbuduje nowy release. Ruch przełącza się, gdy nowe instancje przejdą health check; nieudany release nie wpływa na działającą wersję. Aplikacje z lokalnym wolumenem są natomiast uruchamiane ponownie, bo dysk należy do jednej instancji.
  • Bazy danych obok aplikacji Zarządzane PostgreSQL, pgvector, MySQL, Valkey i ClickHouse w tym samym regionie. Podłączone bazy danych trafiają do aplikacji jako DATABASE_URL, REDIS_URL lub CLICKHOUSE_URL.
  • Środowiska podglądu dla pull requestów Włącz środowiska podglądu, a każdy pull request z Twojego repozytorium dostanie własną aplikację z własnym adresem URL i nowymi, pustymi bazami danych, tworzoną automatycznie lub ręcznie. Forki i pull requesty od botów są pomijane.
  • Workery, zadania cron i skalowanie Uruchamiaj workery jako dodatkowe procesy tej samej aplikacji, planuj zadania w zakładce Cron i skaluj każdy proces do 16 instancji.
  • Etap release W przypadku buildpacków linia release: w Procfile uruchamia się przy każdym nowym buildzie. Aplikacje z Dockerfile, a także ponowne wdrożenia i rollbacki do wcześniejszego obrazu, korzystają z polecenia release ustawionego w samej aplikacji, które ma też pierwszeństwo przed linią z Procfile. W przypadku stron statycznych krok release działa w obrazie zawierającym tylko zbudowane pliki.
  • Logi i metryki W dashboardzie znajdziesz logi z builda, release'u i działania aplikacji oraz metryki CPU, pamięci, dysku i sieci dla każdej instancji.
  • Domeny i HTTPS Domyślna nazwa hosta z HTTPS od pierwszego wdrożenia; Twoje własne domeny automatycznie dostają certyfikaty.

Warto przeczytać

Docker na Nodion: pytania i odpowiedzi

Czy do wdrożenia na Nodion potrzebuję Dockerfile?

Nie. Buildpacki Nodion budują bez Dockerfile aplikacje Node.js, Python, PHP, Ruby, Java, Go, Rust, .NET i Elixir. Dockerfile to dobry wybór, gdy chcesz konkretnego obrazu bazowego, nietypowego toolchainu albo pełnej kontroli nad buildem.

Dlaczego mój kontener nigdy nie staje się gotowy?

Nodion czeka na odpowiedź 2xx lub 3xx na ścieżce health checku, na porcie procesu web. Sprawdź, czy serwer nasłuchuje na 0.0.0.0, a nie na 127.0.0.1, dokładnie na tym porcie, i czy ścieżka nie wymaga logowania. Po 10 minutach release zostaje przerwany, a stara wersja nadal obsługuje ruch.

Czy mogę wdrożyć obraz z Docker Hub lub GHCR?

Tak. Wybierz gotowy obraz zamiast repozytorium Git. Publiczne obrazy działają od razu; w przypadku prywatnego rejestru najpierw zapisz jego dane dostępowe.

Czy Nodion uruchamia mój docker-compose.yml?

Nie jako docker compose up. Eksperymentalny import odczytuje plik jeden raz, przy tworzeniu aplikacji, i przekłada go na jedną aplikację z zarządzanymi bazami danych; zobacz Docker Compose na Nodion.

Gdzie działa moja aplikacja Docker?

W regionie EU Central we Frankfurcie nad Menem (Niemcy). Build, rejestr, aplikacja oraz jej bazy danych, wolumeny, buckety, logi i metryki pozostają w tym regionie, a API i warstwa sterowania (control plane) Nodion są hostowane w Niemczech. Nodion GmbH ma siedzibę w Stuttgarcie.

Czy mogę wykorzystywać Docker zgodnie z RODO?

Nodion zapewnia do tego podstawy: Nodion GmbH ma siedzibę w Stuttgarcie (Niemcy), w regionie Frankfurt nad Menem aplikacja, jej bazy danych i wolumeny działają w Niemczech, a umowę powierzenia przetwarzania danych (DPA, art. 28 RODO) zawierasz elektronicznie w dashboardzie. To, czy Twoje wdrożenie spełnia wymogi RODO, zależy też od tego, jak skonfigurujesz aplikację i jak z niej korzystasz.

Ile kosztuje uruchomienie Docker na Nodion?

Instancja aplikacji kosztuje od 1 EUR miesięcznie. Konfiguracja z ramki kosztuje 2 EUR miesięcznie: Aplikacja 2 EUR. Ceny są podane netto, a rozliczenie następuje co do sekundy. Większe rozmiary lub więcej instancji możesz wybrać w dowolnym momencie.

Czy mogę użyć własnej domeny dla mojej aplikacji Docker?

Tak. Każda aplikacja dostaje domyślną nazwę hosta z HTTPS. Własną domenę dodasz w zakładce Domains aplikacji, a certyfikat TLS jest wystawiany i odnawiany automatycznie.

Daj swojemu agentowi chmurę.

Zyskaj do 15 € środków na start przy rejestracji.

Kontynuuj z GitHub

lub przez e-mail

Bądź na bieżąco.

Nowości produktowe, bez spamu. Możesz zrezygnować w każdej chwili.