Ubuntu 在docker构建期间将密码参数传递或设置为mercurial
我正在尝试设置docker映像,我的代码库驻留在bitbucket中。这里的问题是mercurial需要密码来克隆存储库。经过研究,发现在Ubuntu 在docker构建期间将密码参数传递或设置为mercurial,ubuntu,docker,mercurial,Ubuntu,Docker,Mercurial,我正在尝试设置docker映像,我的代码库驻留在bitbucket中。这里的问题是mercurial需要密码来克隆存储库。经过研究,发现在docker build过程中,它不允许用户输入任何内容。命令在请求授权后立即停止。有解决办法吗?谢谢 示例dockerfile FROM ubuntu RUN apt-get update RUN apt-get install -y nodejs npm git git-core RUN apt-get -y install mercurial RUN l
docker build
过程中,它不允许用户输入任何内容。命令在请求授权后立即停止。有解决办法吗?谢谢
示例dockerfile
FROM ubuntu
RUN apt-get update
RUN apt-get install -y nodejs npm git git-core
RUN apt-get -y install mercurial
RUN ln -s /usr/bin/nodejs /usr/bin/node
RUN npm install -g bower
RUN npm install -g grunt-cli
RUN hg clone <repository>
来自ubuntu的
运行apt获取更新
运行apt get install-y nodejs npm git git core
运行apt get-y安装mercurial
运行ln-s/usr/bin/nodejs/usr/bin/node
运行npm安装-g bower
运行npm安装-g grunt cli
运行hg克隆
您需要配置凭证(ssh密钥)或通过Mercurial命令行传递凭证
如果您不想将ssh密钥保存在Docker映像中,可以改为在容器中手动执行这些步骤(使用克隆)
).
然后将容器提交到图像
即
作为一种解决方法,我是否可以建议在Jenkins这样的构建服务器中运行Docker构建,它有一个Mercurial插件?
host$ docker run -it --name clonedRepoContainer ubuntu bash
container$ apt-get update
container$ apt-get install -y nodejs npm git git-core
container$ apt-get -y install mercurial
container$ ln -s /usr/bin/nodejs /usr/bin/node
container$ npm install -g bower
container$ npm install -g grunt-cli
container$ hg clone http://user:password@host/repo
host$ docker commit clonedRepoContainer finalImage