我目前正在尝试停靠我编写的RShiny应用程序,但在读取脚本开头的.Renviron变量时遇到问题。下面是我的控制台输出。
❯ docker run --rm -p 6969:6969 r-app
Attaching package: ‘lubridate’
The following objects are masked from ‘package:base’:
date, intersect, setdiff, union
── Attaching packages ─────────────────────────────────────── tidyverse 1.3.0 ──
✔ ggplot2 3.3.3 ✔ purrr 0.3.4
✔ tibble 3.0.6 ✔ dplyr 1.0.4
✔ tidyr 1.1.2 ✔ forcats 0.5.1
✔ readr 1.4.0
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ lubridate::as.difftime() masks base::as.difftime()
✖ readr::col_factor() masks scales::col_factor()
✖ lubridate::date() masks base::date()
✖ purrr::discard() masks scales::discard()
✖ dplyr::filter() masks stats::filter()
✖ lubridate::intersect() masks base::intersect()
✖ dplyr::lag() masks stats::lag()
✖ lubridate::setdiff() masks base::setdiff()
✖ lubridate::union() masks base::union()
Warning message:
In readRenviron(".Renviron") :
file '.Renviron' cannot be opened for reading
Error: Failed to connect: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Execution halted下面是我的Dockerfile。.Renviron文件和我的app.R文件在同一个文件夹中,所以我不确定为什么它不能打开它。
FROM rocker/verse:latest
# Install Ubuntu packages
RUN apt-get update && apt-get install -y \
sudo \
gdebi-core \
pandoc \
pandoc-citeproc \
libcurl4-gnutls-dev \
libcairo2-dev \
libxt-dev \
libssl-dev
# Download and install ShinyServer
RUN wget --no-verbose --no-check-certificate https://download3.rstudio.org/ubuntu-14.04/x86_64/shiny-server-1.5.7.907-amd64.deb && \
gdebi shiny-server-1.5.7.907-amd64.deb
RUN R -e "install.packages('lubridate', repos='http://cran.rstudio.com/')"
RUN R -e "install.packages('RMariaDB', repos='http://cran.rstudio.com/')"
RUN R -e "install.packages('scales', repos='http://cran.rstudio.com/')"
RUN R -e "install.packages('shiny', repos='http://cran.rstudio.com/')"
RUN R -e "install.packages('stringr', repos='http://cran.rstudio.com/')"
RUN R -e "install.packages('tidyverse', repos='http://cran.rstudio.com/')"
# Copy configuration files into the Docker image
#COPY shiny-server.sh /usr/bin/shiny-server.sh
#COPY ttp-internal-reporting.Rproj /srv/shiny-server/
#COPY app.R /srv/shiny-server/
#COPY .Renviron /srv/shiny-server/
COPY . /srv/shiny-server/
# select port
EXPOSE 6969
CMD ["Rscript", "srv/shiny-server/app.R"]互联网上确实没有太多的文档或示例可以读取eschew化应用程序的.Renviron文件,我不想避免使用这个文件,因为它包含用于获取数据的数据库凭据。任何帮助都是非常感谢的。
发布于 2021-08-26 21:03:16
FROM rocker/r-ubuntu:20.04
RUN apt-get update && apt-get upgrade -y && apt-get clean
RUN apt-get install -y \
libssl-dev \
libcurl4-openssl-dev \
&& apt-get clean
RUN R -e 'install.packages("curl")'
RUN R -e 'install.packages("usethis")'
COPY .Renviron /root/.Renviron在运行R命令时,使用此映像和此Dockerfile文件,在复制后的下一层中,它将识别.Renviron中设置的变量
例如,如果我在.Renviron中插入了GITHUB_PAT,那么在接下来的几层中,我可以从我的github安装我自己的私有包
https://stackoverflow.com/questions/66603343
复制相似问题