Conteneuriser une application R
Prérequis
- Vous disposez d'un client git. Les exemples de cette section utilisent un client git en ligne de commande, mais vous pouvez utiliser n'importe quel client.
Aperçu
Cette section vous guide à travers la conteneurisation et l'exécution d'une application R.
Obtenir l'application exemple
L'application exemple utilise le framework populaire Shiny.
Clonez l'application exemple pour l'utiliser avec ce guide. Ouvrez un terminal, placez-vous dans le répertoire de votre choix et exécutez la commande suivante pour cloner le dépôt :
$ git clone https://github.com/mfranzon/r-docker-dev.git && cd r-docker-dev
Vous devriez maintenant avoir le contenu suivant dans votre répertoire r-docker-dev
.
├── r-docker-dev/
│ ├── src/
│ │ └── app.R
│ ├── src_db/
│ │ └── app_db.R
│ ├── compose.yaml
│ ├── Dockerfile
│ └── README.md
Pour en savoir plus sur les fichiers du dépôt, consultez les articles suivants :
Exécuter l'application
À l'intérieur du répertoire r-docker-dev
, exécutez la commande suivante dans un
terminal.
$ docker compose up --build
Ouvrez un navigateur et affichez l'application à l'adresse http://localhost:3838. Vous devriez voir une application Shiny simple.
Dans le terminal, appuyez sur ctrl
+c
pour arrêter l'application.
Exécuter l'application en arrière-plan
Vous pouvez exécuter l'application détachée du terminal en ajoutant l'option -d
.
À l'intérieur du répertoire r-docker-dev
, exécutez la commande suivante
dans un terminal.
$ docker compose up --build -d
Ouvrez un navigateur et affichez l'application à l'adresse http://localhost:3838.
Vous devriez voir une application Shiny simple.
Dans le terminal, exécutez la commande suivante pour arrêter l'application.
$ docker compose down
Pour plus d'informations sur les commandes Compose, consultez la référence de la CLI Compose.
Résumé
Dans cette section, vous avez appris comment conteneuriser et exécuter votre application R en utilisant Docker.
Informations connexes :
Prochaines étapes
Dans la section suivante, vous apprendrez comment vous pouvez développer votre application en utilisant des conteneurs.