我跟随本教程:
https://www.linkedin.com/pulse/building-docker-pipeline-cloudbees-jenkins-jay-johnson
我在Docker 17上运行Jenkins:
docker run -d -p 8080:8080 -p 50000:50000 --name jenkins jenkins
我按照指示将Jay的凭据替换为我自己的凭据。我将我的信用添加到Global,然后在管道脚本中重命名了信用。当我尝试构建时,虽然我收到以下错误:
Proceeding
[Pipeline] withEnv
[Pipeline] {
[Pipeline] withDockerRegistry
Wrote authentication to /var/jenkins_home/.dockercfg
[Pipeline] {
[Pipeline] stage (Building)
Using the ‘stage’ step without a block argument is deprecated
Entering stage Building
Proceeding
[Pipeline] sh
[alfred-master] Running shell script
+ docker build -t jayjohnson/django-slack-sphinx:testing django
/var/jenkins_home/workspace/alfred-master@tmp/durable-713ce0d7/script.sh: 2: /var/jenkins_home/workspace/alfred-master@tmp/durable-713ce0d7/script.sh: docker: not found
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 127
Finished: FAILURE
我假设这是在寻找docker二进制文件。
如何从Docker容器内的repo构建docker镜像?
答案 0 :(得分:1)
问题在于:
/var/jenkins_home/workspace/alfred-master@tmp/durable-713ce0d7/script.sh:2:/var/jenkins_home/workspace/alfred-master@tmp/durable-713ce0d7/script.sh:docker:not not结果
我假设您的构建在主实例上运行,这只是Jenkins的基本安装 - 没有额外的工具。
您希望运行代理程序从属服务器并将其连接到主服务器 - 此代理程序应确保已安装Docker,然后您就可以运行这些命令。
您可以自己设置;或使用开源选项 - 目前在我自己的设置中,我使用this image,其中包含我需要的一切(嗯,个人 - 我已经分叉并添加了一些我自己的工具)