Jenkinsfile - 如何将构建参数传递给 docker

Dha*_*jay 6 docker dockerfile jenkins-pipeline

根据此链接,我们可以通过以下方式传递图像名称和 dockerfile 位置以构建图像

docker.build("my-image:${env.BUILD_ID}", "-f ${dockerfile} ./dockerfiles")
Run Code Online (Sandbox Code Playgroud)

我想通过代理设置来构建命令,有什么方法可以传递它,类似于我们如何传递简单的docker命令。

docker build -t my-image --build-arg HTTP_PROXY=http://192.168.0.1:3128 ./dockerfiles
Run Code Online (Sandbox Code Playgroud)

Dre*_*rew 8

这对我有用:

def image = docker.build("myregistry.io/firstkey/secondkey/image:2.2.0-$BUILD_NUMBER", "--build-arg http_proxy=http://www-proxy.mycompany.com:80 --build-arg https_proxy=http://www-proxy.mycompay.com:80 --network host -f Dockerfile .")
Run Code Online (Sandbox Code Playgroud)

  • 该方法的文档在哪里?我很难浏览 Jenkins.io 文档...... (4认同)

小智 8

.您需要在第二个参数中添加所有内容。

docker.build("my-image:${env.BUILD_ID}", "--build-arg HTTP_PROXY=http://192.168.0.1:3128 .")


yon*_*ong 3

docker.build("my-image:${env.BUILD_ID}", "--build-arg HTTP_PROXY=http://192.168.0.1:3128", "-f ${dockerfile} ./dockerfiles")
Run Code Online (Sandbox Code Playgroud)