Utilisateurs autorisés, Bureaucrates, Ingénieurs ISIG, Administrateurs d’interface, Utilisateurs autorisés automatiquement, Administrateurs
354
modifications
Ligne 7 : | Ligne 7 : | ||
== Conteneurisation de votre appli Shiny == | == Conteneurisation de votre appli Shiny == | ||
=== Fixer le port === | |||
=== Choisir l'image source === | |||
https://rocker-project.org/images/ | https://rocker-project.org/images/ | ||
L'image r2u est une bonne base assez simple à utiliser, car elle va chercher des binaires précompilés des packages R que l'on souhaite installer et toutes leurs dépendances, librairies système incluses ! Pratiquement rien n'y est pré-installé, il faudra donc bien préciser toutes les dépendances dont vous avez besoin. En contrepartie, l'image sera plutôt légère, ce qui est une bonne chose ! | L'image r2u est une bonne base assez simple à utiliser, car elle va chercher des binaires précompilés des packages R que l'on souhaite installer et toutes leurs dépendances, librairies système incluses ! Pratiquement rien n'y est pré-installé, il faudra donc bien préciser toutes les dépendances dont vous avez besoin. En contrepartie, l'image sera plutôt légère, ce qui est une bonne chose ! | ||
=== Écrire le Dockerfile === | |||
Voici un exemple de Dockerfile pour l'application GloUrb :<syntaxhighlight lang="dockerfile"> | Voici un exemple de Dockerfile pour l'application GloUrb :<syntaxhighlight lang="dockerfile"> | ||
Ligne 64 : | Ligne 71 : | ||
RUN R -e 'remotes::install_local()' | RUN R -e 'remotes::install_local()' | ||
# On détermine le port qui sera exposé | # On détermine le port qui sera exposé (attention à bien fixer le port sur lequel votre appli écoute, cf. ci-dessus) | ||
EXPOSE 3838 | EXPOSE 3838 | ||
Ligne 73 : | Ligne 80 : | ||
# Enfin, on précise la commande qui permet de lancer notre appli. C'est cette commande qui sera lancée par défaut par tout nouveau container lancé avec notre image | # Enfin, on précise la commande qui permet de lancer notre appli. C'est cette commande qui sera lancée par défaut par tout nouveau container lancé avec notre image | ||
CMD ["R", "-f", "app.R"] | CMD ["R", "-f", "app.R"] | ||
</syntaxhighlight>Pour construire l'image docker à l'aide du Dockerfile, il faut lancer la commande docker build. Il est important de taguer l'image avec l'option -t. | </syntaxhighlight> | ||
=== Construire l'image Docker === | |||
Pour construire l'image docker à l'aide du Dockerfile, il faut lancer la commande docker build. Il est important de taguer l'image avec l'option -t. | |||
<code>docker build ./Dockerfile -t ghcr.io/evs-gis/mapdoapp:latest -t ghcr.io/evs-gis/mapdoapp:2.0.1 -t ghcr.io/evs-gis/mapdoapp:$(git rev-parse --short HEAD)</code> | <code>docker build ./Dockerfile -t ghcr.io/evs-gis/mapdoapp:latest -t ghcr.io/evs-gis/mapdoapp:2.0.1 -t ghcr.io/evs-gis/mapdoapp:$(git rev-parse --short HEAD)</code> | ||
=== Pousser l'image sur un registre === | |||
== Configuration sur l'instance de dev == | == Configuration sur l'instance de dev == |