我有一个R Shiny应用,我想将其部署在Docker容器中。
此刻,Shiny应用程序从我的环境中检索了api_key
,并使用它来检索数据。
为了使api_key
在容器中可用于Shiny,看来我必须将其保存在/home/shiny/.Renviron
中。
这意味着接收容器的人可以浏览文件系统并找到api_key
。
我想知道是否有解决办法;有什么方法可以使api_key
可以用于闪亮的应用程序,但不能用于接收容器图像的人?
答案 0 :(得分:1)
为容器配置环境变量:
docker run -d \
-e API_KEY=<api-key> \
...
shiny-app-image
并在R中使用它:
Sys.getenv("API_KEY")
因此,变量API_KEY
将在容器级别而不是在Docker映像中定义。