r - 如何安全地将 api 密钥添加到 dockerized Shiny App?
问题描述
我有一个 R 闪亮的应用程序,我想将它部署在一个 docker 容器中。
目前,Shiny 应用程序api_key
从我的环境中检索一个,并使用它来检索数据。
为了使api_key
容器内的 Shiny 可以使用它,看起来我必须将它保存在/home/shiny/.Renviron
. 这意味着接收容器的人可以探索文件系统并找到api_key
.
我想知道是否有办法解决这个问题;有什么方法可以使api_key
闪亮的应用程序可用,但对接收容器图像的人不可用?
解决方案
为容器配置环境变量:
docker run -d \
-e API_KEY=<api-key> \
...
shiny-app-image
并在 R 中使用它:
Sys.getenv("API_KEY")
因此变量API_KEY
将在容器级别定义,而不是在 Docker 映像中。
推荐阅读
- javascript - 如何正确获取数组的长度
- react-native - 将本机边界半径反应到内部
- python - 如何在每封电子邮件发送后让代码暂停 5 秒
- python - 获取“AttributeError:'CfnUserPool'对象没有属性'user_pool_id'”错误
- angular - 对纯表示组件中的更改失败做出反应
- git - 通过命令行使用多个 github 帐户时出现权限错误
- r - 用每月序列填充 NA
- javascript - 使用 JavaScript 的基本模式
- javascript - 自定义复选框不检查
- android - 如何从 api 的 html 标签显示图像?