我同时使用docker和docker-compose来托管一个LAMP堆栈。我希望能够在我的一个容器内使用git而无需在构建后在推送时询问我的user.email和user.name。以及其他内容,例如我的push.default和分支设置。有什么好方法让docker或docker-compose将Optional
的结果复制到容器中的文件中,然后我可以将其与入口点一起使用来设置git config。
答案 0 :(得分:5)
是否有什么好方法可以让docker或docker-compose将git config --list的结果复制到容器中的文件中,然后可以与入口点一起使用来设置git config。
您真的不需要这样做就可以达到目标,这里有一个发件箱解决方案:
对于运行git的主机,git config --list
的所有内容都存储在文件中:
git config --system
进行配置,它们将存储在/etc/gitconfig
git config --global
进行配置,它们将存储在~/.gitconfig
因此,您只需要将文件挂载到容器,然后就可以在主机上重用git configure了。
仅供参考。
如果主机使用--global
来配置git:
docker run --rm -it -v ~/.gitconfig:/etc/gitconfig your_image_with_git git config --list
输出:user.name=xxx
如果主机使用--system
来配置git:
docker run --rm -it -v /etc/gitconfig:/etc/gitconfig your_image_with_git git config --list
输出:user.name=yyy
对于docker-compose
,您只需配置volumes
即可定义安装。
答案 1 :(得分:-2)
我假设您希望能够在容器内使用git,但同时又不想一次又一次键入用户名和密码?
我能想到的方法很简单,只需在Dockerfile中添加git config
命令即可。
原因是您将始终以一种或另一种方式以纯文本形式提供密码。
所以,我的建议是将这些行添加到Dockerfile中。
RUN git config --global user.name "your username"
RUN git config --global user.password "your password"