Dockerfile

Commit een Dockerfile. Nodion bouwt die image en draait hem.

Stapsgewijze deployhandleidingen: Docker.

Koppel op Applications → New een Git-repository en kies Dockerfile. De scan kiest bij voorkeur deze strategie als hij een Dockerfile vindt. Kies Buildpacksals je wilt dat Nodion de runtime installeert.

Met een kant-en-klare image (prebuilt image) kun je de Git-build overslaan. Push de image naar een registryen deploy die. De import van Docker Composetijdens het aanmaken is experimenteel en hoort niet bij deze strategie.

Wat je instelt

  • Base directory: de buildcontext, en in een monorepo de plek van de Dockerfile.
  • Dockerfile name: meestal Dockerfile. De scan toont ook Dockerfile.*.
  • Ports: vooraf ingevuld met de TCP-poorten uit EXPOSE in dat bestand. Voeg poorten toe of verwijder ze waar nodig. Na het aanmaken horen de poorten bij het proces web.

Strategie, pad en Base directory wijzig je later in Settings. De wijzigingen gelden vanaf de volgende deploy.

Wat een build doet

  1. Kloont de branch.
  2. Gebruikt de Base directory als buildcontext. Een .dockerignore op die plek wordt toegepast. .git wordt nooit meegestuurd.
  3. Bouwt de opgegeven Dockerfile. Multi-stage-bestanden werken. Je kunt geen stage kiezen; standaard draait de laatste stage.
  4. Pusht de image en start daaruit het proces web.

Omgevingsvariabelen die op het tabblad Environment als Build zijn gemarkeerd, worden als Docker-buildargumenten (ARG) doorgegeven. Runtimevariabelen gelden zodra het proces start, bij de volgende deploy. Secrets blijven na het opslaan write-only.

BuildKit-secrets (RUN --mount=type=secret) worden niet ondersteund. Zet waarden die je tijdens de build nodig hebt in die Build-variabelen.

Luisteren en health check

Nodion zet geen PORT voor een Dockerfile-app. Die variabele is bedoeld voor buildpacks. Laat je server luisteren op de poort van het webproces (uit EXPOSE, of wat je onder Processes instelt). Is die lijst leeg, dan gebruikt Nodion de EXPOSE van de image, en daarna 8080.

Luister op alle interfaces, niet alleen op localhost. De CMD / ENTRYPOINT van de image is het standaard startcommando. Overschrijf het commando zo nodig op het proces.

Nodion controleert of de app klaar is met een HTTP GET naar het Health check path uit Settings (standaard /) op de webpoort. Een 2xx- of 3xx-respons geldt als gezond. Een HEALTHCHECK van Docker in de image wordt genegeerd.

De USER van de image wordt gerespecteerd. Bij een onbekende gebruikersnaam mislukt de deploy.

Geef je agent een cloud.

Ontvang tot € 15 welkomsttegoed bij je registratie.

Doorgaan met GitHub

of met e-mail

Blijf op de hoogte.

Productnieuws, geen spam. Je kunt je altijd weer afmelden.