Compartir comentarios
Las respuestas se generan en base a la documentación.

Contenedorizar una aplicación R

Requisitos previos

  • Tienes un cliente de git. Los ejemplos de esta sección utilizan un cliente de git basado en línea de comandos, pero puedes usar cualquier cliente.

Descripción general

Esta sección te guía a través de la contenedorización y ejecución de una aplicación R.

Obtener la aplicación de ejemplo

La aplicación de ejemplo utiliza el popular framework Shiny.

Clona la aplicación de ejemplo para usarla con esta guía. Abre una terminal, ve al directorio en el que quieras trabajar y ejecuta el siguiente comando para clonar el repositorio:

$ git clone https://github.com/mfranzon/r-docker-dev.git && cd r-docker-dev

Ahora deberías tener el siguiente contenido en tu directorio r-docker-dev.

├── r-docker-dev/
│   ├── src/
│   │   └── app.R
│   ├── src_db/
│   │   └── app_db.R
│   ├── compose.yaml
│   ├── Dockerfile
│   └── README.md

Para obtener más información sobre los archivos en el repositorio, consulta lo siguiente:

Ejecutar la aplicación

Dentro del directorio r-docker-dev, ejecuta el siguiente comando en una terminal.

$ docker compose up --build

Abre un navegador y visualiza la aplicación en http://localhost:3838. Deberías ver una aplicación Shiny sencilla.

En la terminal, presiona ctrl+c para detener la aplicación.

Ejecutar la aplicación en segundo plano

Puedes ejecutar la aplicación desacoplada de la terminal agregando la opción -d. Dentro del directorio r-docker-dev, ejecuta el siguiente comando en una terminal.

$ docker compose up --build -d

Abre un navegador y visualiza la aplicación en http://localhost:3838.

Deberías ver una aplicación Shiny sencilla.

En la terminal, ejecuta el siguiente comando para detener la aplicación.

$ docker compose down

Para obtener más información sobre los comandos de Compose, consulta la referencia de la CLI de Compose.

Resumen

En esta sección, aprendiste cómo puedes contenedorizar y ejecutar tu aplicación R usando Docker.

Información relacionada:

Pasos siguientes

En la siguiente sección, aprenderás cómo puedes desarrollar tu aplicación utilizando contenedores.