在 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 容器。

相关推荐
❀͜͡傀儡师3 小时前
docker部署PostgreSQL数据库的监控和管理工具
数据库·docker·postgresql
摘星编程3 小时前
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
windows·elasticsearch·kibana
YJlio3 小时前
PsPing 学习笔记(14.1):ICMP Ping 进阶——替代系统 ping 的正确姿势
windows·笔记·学习
郑泰科技4 小时前
mstsc 频繁断开是由svchost 策略引起的吗?
windows·笔记·负载均衡
开开心心就好4 小时前
OCR识别工具可加AI接口,快捷键截图翻译便捷
java·网络·windows·随机森林·电脑·excel·推荐算法
阿常呓语5 小时前
colima 的简单使用
docker·colima
喂自己代言5 小时前
Windows 10 22H2 纯系统自带工具安全方案
windows·安全
hgz07107 小时前
Docker 知识练习题
docker
❀͜͡傀儡师8 小时前
docker部署PruneMate
运维·docker·容器
深耕AI8 小时前
【Docker使用】从拉取到运行
运维·docker·容器