在 Windows 下的 Docker 中安装 R语言

以下是在 Windows 系统的 Docker 中安装 R 语言的详细教程,包括 Docker 的安装、配置以及如何在容器中运行 R 语言的步骤。


步骤 1:安装 Docker

  1. 下载 Docker Desktop

    访问 Docker 官方网站:Docker Desktop: The #1 Containerization Tool for Developers | Docker,下载适用于 Windows 的 Docker Desktop 安装程序。

  2. 安装 Docker Desktop

    • 运行下载的安装程序,按照提示完成安装。
    • 在安装过程中,确保勾选以下选项:
      • Use the WSL 2 based engine(推荐使用 WSL 2 作为后端引擎)。
      • Enable Docker Compose V2
  3. 启动 Docker Desktop

    安装完成后,启动 Docker Desktop。首次启动可能需要几分钟时间来完成初始化。

  4. 验证 Docker 是否安装成功

    打开命令提示符(CMD)或 PowerShell,运行以下命令:

    复制代码
    docker --version

    如果显示 Docker 版本信息,则说明安装成功。


步骤 2:拉取 R 语言的 Docker 镜像

Docker Hub 提供了官方的 R 语言镜像,可以直接拉取。

  1. 查找 R 镜像

    访问 Docker Hub 的 R 镜像页面:https://hub.docker.com/r/rocker/r-ver

  2. 拉取 R 镜像

    在命令提示符或 PowerShell 中运行以下命令:

    复制代码
    docker pull rocker/r-ver:latest

    这将会拉取最新的 R 语言镜像。

也可以

复制代码
docker pull r-base:latest

r-baserocker/r-ver 都是 Docker 官方提供的 R 语言镜像

  • 如果只需要一个最简单的 R 环境,可以使用 r-base。镜像体积较小,适合快速启动。
  • 如果需要更完整的 R 环境、特定版本的 R 或计划扩展为更复杂的开发环境(如 RStudio),推荐使用 rocker/r-ver。镜像体积较大,因为包含更多的工具和依赖

因此,在我的教程中使用了 rocker/r-ver,因为它更适合搭建完整的 R 开发环境。如果你只需要简单的 R 环境运行脚本,完全可以使用 r-base


步骤 3:运行 R 语言的 Docker 容器

  1. 启动 R 容器

    运行以下命令以启动一个 R 容器:

    复制代码
    docker run -it --rm rocker/r-ver:latest
    • -it:以交互模式运行容器。
    • --rm:容器停止后自动删除。
    • rocker/r-ver:latest:使用的镜像名称。
  2. 验证 R 是否运行

    进入容器后,您会看到 R 的交互式命令行界面。输入以下命令验证 R 是否正常运行:

    复制代码
    sessionInfo()

    这将显示 R 的版本信息和其他环境配置。


步骤 4:挂载本地目录并运行 R 脚本

为了方便在容器中访问 Windows 上的文件,可以将本地目录挂载到容器中。

  1. 创建 R 脚本文件

    在 Windows 上创建一个 R 脚本文件,例如 script.R,内容如下:

    复制代码
    print("Hello, Docker with R!")
  2. 挂载目录并运行脚本

    运行以下命令,将本地目录挂载到容器中并执行脚本:

    复制代码
    docker run -it --rm -v C:\path\to\your\scripts:/workspace rocker/r-ver:latest Rscript /workspace/script.R
    • -v C:\path\to\your\scripts:/workspace:将本地目录挂载到容器的 /workspace 目录。
    • Rscript /workspace/script.R:在容器中运行指定的 R 脚本。

步骤 5:安装额外的 R 包(持久化)

如果需要在容器中安装额外的 R 包,可以在 R 交互式命令行中安装,或者通过 Dockerfile 自定义镜像。

方法 1:使用 Dockerfile 构建自定义镜像
  1. 在容器中安装包

    进入容器后,可以使用以下命令安装包:

    复制代码
    install.packages("ggplot2")
  2. 通过 Dockerfile 自定义镜像

    创建一个 Dockerfile 文件,内容如下:

    复制代码
    FROM rocker/r-ver:latest
    RUN install.packages("ggplot2")

    构建自定义镜像:

    复制代码
    docker build -t my-r-image .

    使用自定义镜像运行容器:

    复制代码
    docker run -it --rm my-r-image

优点 :可重复性强,适合团队协作。
缺点:每次修改需要重新构建镜像。

方法 2:使用数据卷(Volume)持久化 R 包

Rocker 镜像支持将 R 包的安装目录挂载到宿主机的数据卷中,从而实现持久化。

  1. 创建数据卷:

    复制代码
    docker volume create r-packages
  2. 启动容器时挂载数据卷:

    复制代码
    docker run -it --rm -v r-packages:/usr/local/lib/R/site-library rocker/r-ver:latest R
  3. 在容器中安装的 R 包会保存到 r-packages 数据卷中。下次启动容器时,挂载相同的数据卷即可:

    复制代码
    docker run -it --rm -v r-packages:/usr/local/lib/R/site-library rocker/r-ver:latest R

优点 :无需修改镜像,灵活高效。
缺点:需要手动管理数据卷。

方法3:使用 rocker/rstudio 镜像和持久化配置

如果需要使用 RStudio 并持久化用户数据和包,可以使用 rocker/rstudio 镜像。

  1. 启动容器并挂载数据卷:

    复制代码
    docker run -d -p 8787:8787 -v rstudio-config:/home/rstudio rocker/rstudio:latest
  2. 访问 http://localhost:8787,使用用户名 rstudio 和密码 rstudio 登录。

  3. 在 RStudio 中安装的包和用户数据会保存到 rstudio-config 数据卷中。

优点 :适合使用 RStudio 的场景,配置持久化方便。
缺点:需要启动完整的 RStudio 容器。

相关推荐
星霜笔记1 小时前
Docker 部署 MariaDB+phpMyAdmin+Nextcloud 完整教程
运维·数据库·docker·容器·mariadb
数据知道4 小时前
容器化部署:用Docker封装机器翻译模型与服务详解
docker·容器·机器翻译
cpsvps_net7 小时前
美国服务器环境下Windows容器工作负载智能弹性伸缩
windows
甄超锋7 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
cpsvps10 小时前
美国服务器环境下Windows容器工作负载基于指标的自动扩缩
windows
敲上瘾10 小时前
Linux系统cgroups资源精细化控制基础
linux·测试工具·docker·压力测试·cgroups
伊成12 小时前
Docker 部署 Nginx 完整指南
nginx·docker·容器
网硕互联的小客服13 小时前
Apache 如何支持SHTML(SSI)的配置方法
运维·服务器·网络·windows·php
etcix13 小时前
implement copy file content to clipboard on Windows
windows·stm32·单片机
落日漫游13 小时前
K8s核心组件全解析
运维·docker·运维开发