如何在Docker容器中运行一个R应用程序?

在Docker容器中运行一个R应用程序,可以通过以下步骤进行:

  1. 编写R应用程序:
print("Hello World!")

保存为app.R。

  1. 构建Dockerfile:
Dockerfile
FROM r-base:4.0.4
WORKDIR /app
COPY app.R .
CMD ["Rscript", "app.R"]

此Dockerfile构建基于r-base镜像,将app.R复制到镜像并指定Rscript app.R为入口点。

  1. 构建镜像:
docker build -t r-app . 
  1. 运行容器:
docker run r-app

输出:

Hello World! 
  1. 在Docker Compose中定义应用:
yaml
version: '3'
services:
  r-app:
    build: .
    image: r-app
docker-compose run r-app

可以一键运行应用。

  1. 安装R包并使用:
    可以在Dockerfile中使用RUN install.packages()安装R包,例如:
Dockerfile
FROM r-base:4.0.4
WORKDIR /app
RUN install.packages("ggplot2")
COPY app.R .
CMD ["Rscript", "app.R"]

然后在app.R中可以使用ggplot2包:

library(ggplot2)
print("Hello World!")

构建新镜像并运行。