Ubuntu 在docker构建期间将密码参数传递或设置为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映像,我的代码库驻留在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 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