Dockerfile
Commitez un Dockerfile. Nodion construit l'image et l'exécute.
Guides de déploiement pas à pas : Docker.
Dans Applications → New, connectez un dépôt Gitet choisissez Dockerfile. L'analyse du dépôt privilégie cette stratégie quand elle trouve un Dockerfile. Choisissez Buildpackssi vous voulez que Nodion installe le runtime.
Une image préconstruite évite le build depuis Git. Poussez cette image vers un registryet déployez-la. L'import Docker Composeà la création est expérimental et ne relève pas de cette stratégie.
Ce que vous configurez
- Base directory : le contexte de build, et l'emplacement du Dockerfile dans un monorepo.
- Dockerfile name : en général
Dockerfile. L'analyse liste aussi lesDockerfile.*. - Ports : préremplis à partir des
EXPOSETCP de ce fichier. Ajoutez-en ou retirez-en selon vos besoins. Après la création, les ports sont définis sur le processus web.
Vous pouvez changer la stratégie, le chemin et le champ Base directory plus tard dans Settings. Ces changements s'appliquent au prochain déploiement.
Ce que fait un build
- Clone la branche.
- Utilise le Base directory comme contexte de build. Un
.dockerignoreplacé à cet endroit est respecté..gitn'est jamais envoyé. - Construit le Dockerfile indiqué. Les Dockerfiles à plusieurs étapes fonctionnent. Comme il n'y a pas de sélecteur d'étape, c'est la dernière qui est exécutée par défaut.
- Pousse l'image et démarre le processus
webà partir de celle-ci.
Les variables d'environnement marquées Build dans l'onglet Environment sont transmises comme arguments de build Docker (ARG). Les variables d'exécution s'appliquent au démarrage du processus, lors du prochain déploiement. Une fois enregistrés, les secrets restent en écriture seule.
Les secrets BuildKit (RUN --mount=type=secret) ne sont pas pris en charge. Placez les valeurs dont le build a besoin dans ces variables Build.
Écoute et health check
Nodion ne définit pas PORT pour une app Dockerfile. Cette variable est réservée aux buildpacks. Faites écouter votre serveur sur le port du processus web (celui de EXPOSE, ou celui que vous définissez dans Processes). Si cette liste est vide, Nodion utilise l'EXPOSE de l'image, puis 8080.
Écoutez sur toutes les interfaces, pas seulement sur localhost. Le CMD / ENTRYPOINT de l'image sert de commande de démarrage par défaut. Remplacez la commande sur le processus si nécessaire.
La disponibilité est vérifiée par une requête HTTP GET sur le Health check path défini dans Settings (par défaut /), sur le port web. Une réponse 2xx ou 3xx indique que l'app est prête. Un HEALTHCHECK Docker dans l'image est ignoré.
Le USER de l'image est respecté. Un nom d'utilisateur inconnu fait échouer le déploiement.