Dockerfile
Dodaj Dockerfile do repozytorium. Nodion zbuduje z niego obraz i go uruchomi.
Przewodniki wdrożeniowe krok po kroku: Docker.
Na stronie Applications → New połącz repozytorium Giti wybierz Dockerfile. Skanowanie repozytorium domyślnie wybiera tę strategię, gdy znajdzie Dockerfile. Wybierz Buildpacks, jeśli chcesz, żeby Nodion zainstalował runtime.
Gotowy obraz (prebuilt image) pomija build z Git. Wypchnij obraz do rejestrui wdróż go. Import Docker Composeprzy tworzeniu aplikacji jest eksperymentalny i nie należy do tej strategii.
Co ustawiasz
- Base directory: kontekst buildu, a w monorepo także miejsce, w którym leży Dockerfile.
- Dockerfile name: zwykle
Dockerfile. Skanowanie pokazuje też plikiDockerfile.*. - Ports: wstępnie wypełniane portami TCP z
EXPOSEw tym pliku. Dodaj lub usuń porty według potrzeb. Po utworzeniu aplikacji porty należą do procesu web.
Strategię, ścieżkę i Base directory możesz później zmienić w Settings. Zmiana obowiązuje od następnego wdrożenia.
Co robi build
- Klonuje gałąź.
- Używa Base directory jako kontekstu buildu. Uwzględnia znajdujący się tam plik
.dockerignore. Katalog.gitnigdy nie jest wysyłany. - Buduje wskazany Dockerfile. Pliki wieloetapowe (multi-stage) działają. Nie ma wyboru etapu, więc uruchamiany jest domyślny, ostatni etap.
- Wypycha obraz i uruchamia z niego proces
web.
Zmienne środowiskowe oznaczone jako Build w zakładce Environment są przekazywane jako argumenty buildu Dockera (ARG). Zmienne runtime zaczynają obowiązywać przy następnym wdrożeniu, gdy uruchomi się proces. Po zapisaniu sekret możesz nadpisać, ale nie możesz go odczytać.
Sekrety BuildKit (RUN --mount=type=secret) nie są obsługiwane. Wartości potrzebne w czasie buildu umieść w tych zmiennych Build.
Nasłuchiwanie i health check
Nodion nie ustawia PORT dla aplikacji z Dockerfile. Ta zmienna jest przeznaczona dla buildpacków. Twój serwer musi nasłuchiwać na porcie procesu web (z EXPOSE lub tym, który ustawisz w Processes). Jeśli ta lista jest pusta, Nodion używa EXPOSE z obrazu, a potem 8080.
Nasłuchuj na wszystkich interfejsach, nie tylko na localhost. Domyślnym poleceniem startowym jest CMD / ENTRYPOINT obrazu. W razie potrzeby nadpisz polecenie w procesie.
Gotowość (readiness) jest sprawdzana żądaniem HTTP GET wysyłanym na ścieżkę Health check path z Settings (domyślnie /) na porcie procesu web. Odpowiedź 2xx lub 3xx oznacza, że aplikacja jest gotowa. HEALTHCHECK Dockera w obrazie jest ignorowany.
Nodion uwzględnia USER obrazu. Nieznana nazwa użytkownika powoduje błąd wdrożenia.