首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在运行RStudio的后台码头中使用ENV变量

在运行RStudio的后台码头中使用ENV变量
EN

Stack Overflow用户
提问于 2014-08-15 22:56:22
回答 1查看 2.1K关注 0票数 3

我能够设置一个带有默认ENV变量的Dockerfile,然后在运行我的码头容器时可以配置这些变量,例如,在Dockerfile中,我有以下行:

代码语言:javascript
复制
ENV USERNAME ropensci
ENV EMAIL ropensci@github.com
RUN git config --global user.name $USERNAME
RUN git config --global user.email $EMAIL

太棒了。当我启动互动会议时:

代码语言:javascript
复制
docker run -it --env USERNAME="Carl" --env EMAIL=cboettig@example.com myimage /bin/bash

然后,我可以发出命令git config --list,并看到git被配置为使用我在命令行中提供的值,而不是缺省值。

但是,我的Dockerfile也被配置为运行一个RStudio服务器,然后当我以Daemon模式运行映像时,可以登录到浏览器中:

代码语言:javascript
复制
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 --listecho $USERNAME,然后只得到一个空白值。为什么这对/bin/bash有效,而不适用于RStudio,以及如何修复它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-16 04:50:02

您的git配置设置在/.gitconfig上。此配置文件是为根用户提供的。您需要为rstudio用户设置git配置,因为rstudio运行在rstudio用户上。下面的命令是一个临时解决方案。

代码语言:javascript
复制
docker run -it -p 8787:8787 --env USERNAME="Carl" --env EMAIL=cboettig@example.com cboettig/ropensci-docker bash -c "cp /.gitconfig /home/rstudio; /usr/bin/supervisord"

它起作用了!

另一种解决方案是基于cboettig/ropensci-docker编写Dockerfile。下面是示例Dockerfile。

代码语言:javascript
复制
FROM cboettig/ropensci-docker
RUN cp /.gitconfig /home/rstudio
CMD ["/usr/bin/supervisord"]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25335333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档