« ShinyProxy » : différence entre les versions

Aller à la navigation Aller à la recherche
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 ==

Menu de navigation