Spaces:
Build error
Build error
Update Dockerfile
Browse files- Dockerfile +41 -17
Dockerfile
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
-
# 使用一个包含 R 的基础镜像
|
| 2 |
-
#
|
| 3 |
FROM rocker/tidyverse:latest
|
| 4 |
|
| 5 |
# 设置工作目录
|
|
@@ -7,26 +7,50 @@ WORKDIR /app
|
|
| 7 |
|
| 8 |
# 复制你的 R 脚本和数据文件到容器中
|
| 9 |
COPY app.R .
|
| 10 |
-
COPY gmqrkl.xlsx .
|
| 11 |
|
| 12 |
-
#
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
-
#
|
| 19 |
-
#
|
| 20 |
-
#
|
| 21 |
-
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
-
# 如果你的代码需要特殊字体来显示中文,可以安装字体
|
| 24 |
-
# RUN apt-get update && apt-get install -y fonts-wqy-zenhei
|
| 25 |
|
| 26 |
# 设置环境变量,确保 R 知道去哪里找字体(如果安装了)
|
| 27 |
-
|
| 28 |
-
|
|
|
|
|
|
|
| 29 |
|
| 30 |
# 运行你的 R 脚本
|
| 31 |
-
# 如果你的 R 脚本会生成文件(如图片),请确保它们保存在 /app 目录下
|
| 32 |
CMD ["Rscript", "app.R"]
|
|
|
|
| 1 |
+
# 使用一个包含 R 和 Tidyverse 的基础镜像
|
| 2 |
+
# rocker/tidyverse 包含了许多常用包,但仍需确保所有依赖都存在
|
| 3 |
FROM rocker/tidyverse:latest
|
| 4 |
|
| 5 |
# 设置工作目录
|
|
|
|
| 7 |
|
| 8 |
# 复制你的 R 脚本和数据文件到容器中
|
| 9 |
COPY app.R .
|
| 10 |
+
COPY COPY gmqrkl.xlsx .
|
| 11 |
|
| 12 |
+
# 确保系统包更新和安装必要的开发工具(对于 R 包编译可能需要)
|
| 13 |
+
RUN apt-get update && apt-get install -y \
|
| 14 |
+
sudo \
|
| 15 |
+
curl \
|
| 16 |
+
libxml2-dev \
|
| 17 |
+
libssl-dev \
|
| 18 |
+
libcurl4-openssl-dev \
|
| 19 |
+
libfontconfig1-dev \
|
| 20 |
+
libcairo2-dev \
|
| 21 |
+
fonts-wqy-zenhei \
|
| 22 |
+
gfortran \
|
| 23 |
+
libatlas-base-dev \
|
| 24 |
+
libopenblas-dev \
|
| 25 |
+
liblapack-dev \
|
| 26 |
+
pandoc \
|
| 27 |
+
pandoc-citeproc \
|
| 28 |
+
pkg-config \
|
| 29 |
+
# fbprophet 的 Python 依赖可能需要
|
| 30 |
+
python3 \
|
| 31 |
+
python3-pip \
|
| 32 |
+
python3-dev \
|
| 33 |
+
build-essential \
|
| 34 |
+
&& rm -rf /var/lib/apt/lists/*
|
| 35 |
+
|
| 36 |
+
# 为 prophet 包安装 Python 依赖
|
| 37 |
+
# 注意:Prophet R 包在内部调用了 Python 的 Prophet 库
|
| 38 |
+
RUN pip3 install pystan fbprophet
|
| 39 |
|
| 40 |
+
# 安装所有必需的 R 包
|
| 41 |
+
# 分开安装一些可能相互依赖或安装耗时的包,增加稳定性
|
| 42 |
+
# 增加 repos URL,并添加 Ncpus 参数以利用多核加速安装
|
| 43 |
+
RUN R -e "install.packages(c('zoo', 'forecast', 'tseries', 'uroot', 'readxl', 'lubridate', 'tidyr'), repos='http://cran.rstudio.com/', Ncpus = `nproc`)"
|
| 44 |
+
RUN R -e "install.packages(c('ggplot2', 'dplyr', 'ggpubr', 'patchwork', 'scales'), repos='http://cran.rstudio.com/', Ncpus = `nproc`)"
|
| 45 |
+
RUN R -e "install.packages(c('Rcpp', 'RcppArmadillo', 'RcppParallel', 'prophet'), repos='http://cran.rstudio.com/', Ncpus = `nproc`)"
|
| 46 |
+
RUN R -e "install.packages(c('parallel', 'doParallel'), repos='http://cran.rstudio.com/', Ncpus = `nproc`)"
|
| 47 |
|
|
|
|
|
|
|
| 48 |
|
| 49 |
# 设置环境变量,确保 R 知道去哪里找字体(如果安装了)
|
| 50 |
+
ENV R_LIBS_USER=/usr/local/lib/R/site-library
|
| 51 |
+
ENV R_GSCMD=/usr/bin/gs # For ghostscript, sometimes needed for ggplot2 output
|
| 52 |
+
# 设置 LANG 环境变量,确保R能正确处理中文字符
|
| 53 |
+
ENV LANG=C.UTF-8
|
| 54 |
|
| 55 |
# 运行你的 R 脚本
|
|
|
|
| 56 |
CMD ["Rscript", "app.R"]
|