Mwa*_*avu 7 r shiny docker shinyproxy
我正在学习如何使用闪亮代理来部署 R 闪亮应用程序,但我不知道将.Renviron
包含用于访问数据库的全局变量的文件放置在哪里。
docker 镜像构建时没有任何错误,但是当我使用以下命令启动容器时:
docker run -it -p 3838:3838 shinyproxy-template .
Run Code Online (Sandbox Code Playgroud)
它在文件中找不到 env 变量.Renviron
,并且最终在需要全局变量的 R 代码部分出现错误。
我当前的文件夹结构如下:
shinyproxy-template/
|- app-folder/
|- .gitignore
|- Dockerfile
|- README.md
|- app.Rproj
|- Rprofile.site
|- .Renviron
Run Code Online (Sandbox Code Playgroud)
我尝试将.Renviron
文件放入然后app-folder/
再次构建 Docker 映像,但全局变量仍然无法访问。
我应该将其放置在哪里.Renviron
以便应用程序可以访问全局变量?
有多种选择:
.Renviron
到容器内的预期位置您可以添加一个COPY
命令来Dockerfile
将文件复制.Renviron
到预期位置 - 即用户的主目录或WORKDIR
Dockerfile 中定义的位置。如果是 root 用户,则为:
COPY .Renviron /root/
Run Code Online (Sandbox Code Playgroud)
.Renviron
到 Dockerfile添加如下行:
ENV VAR1="value1"
ENV VAR2="value2"
Run Code Online (Sandbox Code Playgroud)
给你的Dockerfile
.Renviron
到shinyproxy配置中您可以application.yaml
使用以下方法在配置文件中定义环境变量
container-env:
VAR1: VALUE1
VAR2: VALUE2
Run Code Online (Sandbox Code Playgroud)
或者
container-env-file: /path/to/.Renviron
Run Code Online (Sandbox Code Playgroud)
为您的应用程序规范。请注意,这里的路径是在主机上,而不是在容器内。
docker run
docker run
当您在shinyproxy之外进行操作时,您可以使用--env-file
以下参数:
docker run -it -p 3838:3838 shinyproxy-template --env-file /path/to/shinyproxy-template/.Renviron
Run Code Online (Sandbox Code Playgroud)
相关文档链接:
归档时间: |
|
查看次数: |
1166 次 |
最近记录: |