运行Docker从Jenkis构建,用参数代替Dockerfile中的硬编码输入

问题描述:

我想从jenkis服务器运行docker构建,在这种情况下,我想将dockerfile中的某些输入(如密码或路径)指定为变量。运行Docker从Jenkis构建,用参数代替Dockerfile中的硬编码输入

是否有一种方法来指定docker build命令的参数并将此参数用作变量?

一个案例将是mysql root密码。

echo "mysql-server mysql-server/root_password password <<VARIABLE>>" | sudo debconf-set-selections 
echo "mysql-server mysql-server/root_password_again password <<VARIABLE>>" | sudo debconf-set-selections 

感谢您的帮助

可以使用--build-ARGS(link

例如:

FROM ubuntu:16.04 
ARG MY_ARG 
RUN ... ${MY_ARG} 

然后

docker build --build-arg MY_ARG=value