# 使用一个包含 R 的基础镜像 # 你可以使用 rocker/r-base 或 rocker/tidyverse 等预构建的 R 镜像 FROM rocker/tidyverse:latest # 设置工作目录 WORKDIR /app # 复制你的 R 脚本和数据文件到容器中 COPY app.R . COPY gmqrkl.xlsx . # 安装所有必需的 R 包 # 在 RUN 命令中一次性安装所有包,可以减少 Docker 镜像层数 # 使用 apt-get 安装系统级别的依赖(例如 r-cran-rjava 如果你需要) # 这里我们只安装 R 包 RUN R -e "install.packages(c('zoo', 'forecast', 'tseries', 'ggplot2', 'uroot', 'readxl', 'dplyr', 'lubridate', 'prophet', 'ggpubr', 'patchwork', 'scales', 'parallel', 'doParallel', 'Rcpp', 'RcppArmadillo', 'RcppParallel'), repos='http://cran.rstudio.com/')" # 针对 prophet 包的额外依赖(如果遇到问题,可能需要手动安装这些) # RUN R -e "install.packages('Rcpp', repos='http://cran.rstudio.com/')" # RUN R -e "install.packages('RcppArmadillo', repos='http://cran.rstudio.com/')" # RUN R -e "install.packages('RcppParallel', repos='http://cran.rstudio.com/')" # 如果你的代码需要特殊字体来显示中文,可以安装字体 # RUN apt-get update && apt-get install -y fonts-wqy-zenhei # 设置环境变量,确保 R 知道去哪里找字体(如果安装了) # ENV R_LIBS_USER=/usr/local/lib/R/site-library # ENV R_GSCMD=/usr/bin/gs # For ghostscript, sometimes needed for ggplot2 output # 运行你的 R 脚本 # 如果你的 R 脚本会生成文件(如图片),请确保它们保存在 /app 目录下 CMD ["Rscript", "app.R"]