Inicio

Programación en R en VS Code a través de Docker Container

¿Alguna vez intentó compartir su código R con un colega, solo para pasar horas depurando problemas de “pero funciona en mi máquina”? Los contenedores Docker son como contenedores de envío para código: empaquetan su entorno R, bibliotecas y dependencias en una caja sellada que funciona igual en todas partes. Además, tiene acceso a decenas de miles de imágenes preconstruidas en Docker Hub, donde los desarrolladores publican entornos listos para usar, evitando la instalación manual de software. Este tutorial muestra cómo ejecutar R en un entorno aislado y reproducible usando VS Code y Docker Desktop.

Conceptos Clave

Lo Que Necesitará

Paso 1: Instalar Docker Desktop

Paso 2: Instalar la Extensión Dev Containers

Paso 3: Clonar el Proyecto Vibe con GitHub Desktop

Paso 4: Abrir el Proyecto en VS Code

Paso 5: Reabrir en Contenedor

Nota: El contenedor incluye automáticamente la extensión R y el paquete languageserver. El Dockerfile y devcontainer.json se encargan de esto por usted.

Paso 6: Comprender el Entorno del Contenedor

Ahora está programando dentro de un contenedor Linux. Exploremos qué significa esto.

pwd

Verá /workspaces/vibe - esta es su carpeta de proyecto dentro del contenedor.

ls

Verá los mismos archivos del proyecto: R/, .devcontainer/, README.md, etc.

cd ..
ls

Solo verá vibe/ - el contenedor está aislado. No puede acceder a otras carpetas de su computadora, Escritorio o Documentos. Este aislamiento garantiza que su entorno R sea limpio y reproducible.

cd vibe

Paso 7: Ejecutar Código R Línea por Línea

El contenedor tiene R preinstalado con paquetes comunes. Ejecutemos un script simple de análisis de datos.

Paso 8: Ejecutar la Aplicación

El proyecto incluye una aplicación Shiny de demostración que crea un histograma interactivo.

Paso 9: Hacer un Cambio Simple

Modifiquemos la aplicación para ver cómo funciona el desarrollo.

titlePanel("My First R Docker App")

Paso 10: Comprender el Dockerfile (Opcional)

# choose a Dockerhub base image
FROM rocker/shiny-verse:latest

# 1. System deps commonly needed by R packages
RUN apt-get update && apt-get install -y \
    libcurl4-openssl-dev libssl-dev libxml2-dev git curl && \
    rm -rf /var/lib/apt/lists/*

# 2. R packages for VS Code integration: language server + debugger
RUN R -q -e 'install.packages(c("rstudioapi", "languageserver"), repos="https://cloud.r-project.org")'

# 3. Install Node.js LTS from NodeSource
RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - \
    && apt-get install -y nodejs \
    && npm install -g npm@latest

# 4. Install Claude Code globally
RUN npm install -g @anthropic-ai/claude-code

# 5. Expose Shiny server port
EXPOSE 3838

Partes clave:

Otras imágenes Rocker que puede usar:

Después de cambiar la imagen base, reconstruya el contenedor para aplicar los cambios.

Paso 11: Instalar Paquetes R en la Imagen Docker (Opcional)

Los paquetes instalados mediante la consola R (install.packages()) son temporales y desaparecen cuando reconstruye el contenedor. Para hacer los paquetes permanentes, agréguelos al Dockerfile.

library(data.table)

Si se carga sin errores, el paquete está instalado permanentemente.

Próximos Pasos

Solución de Problemas

Resumen del Flujo de Trabajo

Esta configuración proporciona un entorno profesional de desarrollo en R:

Flujo de Trabajo Diario

Una vez que todo esté configurado, aquí está su rutina diaria:

  1. Iniciar Docker Desktop - Abra la aplicación y espere el indicador de estado verde (Docker debe estar en ejecución)
  2. Abrir VS Code - Inicie VS Code y abra su carpeta de proyecto
  3. Reabrir en Contenedor - Si aún no está en el contenedor, haga clic en el icono verde (inferior izquierdo) y seleccione Reopen in Container
  4. Escribir y ejecutar código - Edite archivos .R, ejecute línea por línea con Ctrl+Enter/Cmd+Enter, o ejecute aplicaciones Shiny con el botón ▶ Run Shiny App
  5. Guardar su trabajo - Sus archivos de código (.R, .Rmd) se guardan en su computadora y persisten entre sesiones
  6. Hacer commit y push - Use GitHub Desktop para hacer commit de sus cambios y hacer push al repositorio

Creado por Steven Ge el 7 de diciembre de 2025.