【发布时间】:2014-10-09 17:10:06
【问题描述】:
我可以使用默认的 ENV 变量设置 Dockerfile,然后我可以在运行我的 docker 容器时配置这些变量,例如在 Dockerfile 中,我有以下几行:
ENV USERNAME ropensci
ENV EMAIL ropensci@github.com
RUN git config --global user.name $USERNAME
RUN git config --global user.email $EMAIL
太好了。当我启动交互式会话时:
docker run -it --env USERNAME="Carl" --env EMAIL=cboettig@example.com myimage /bin/bash
然后我可以发出命令git config --list 并看到 git 被配置为使用我在命令行上提供的值而不是默认值。
但是,我的Dockerfile 也被配置为运行 RStudio 服务器,然后我可以在以守护程序模式运行图像时登录浏览器:
docker run -d -p 8787:8787 --env USERNAME="Carl" --env EMAIL=cboettig@example.com cboettig/ropensci-docker
我去 localhost:8787 并登录到 RStudio,一切都按预期工作,启动一个启用了 git 的新“项目”,但是 RStudio 找不到我的 git 名称和电子邮件。我可以从 RStudio 菜单中打开 shell 并运行 git config --list 或 echo $USERNAME,我只得到一个空白值。为什么这适用于 /bin/bash 但不适用于 RStudio,我该如何解决?
【问题讨论】:
-
@Salem 不行。请注意,这与访问 R 中的环境变量无关,因为它们在 shell 上也不可用。
标签: r git docker rstudio-server