使用Docker Jenkins容器pipe道构buildDocker镜像时未findDocker

我有一个jenkins作为docker集装箱运行,现在我想使用pipe道build立一个docker形象,但jenkins容器总是告诉docker找不到。

[simple-tdd-pipeline] Running shell script + docker build -t simple-tdd . /var/jenkins_home/workspace/simple-tdd-pipeline@tmp/durable- ebc35179/script.sh: 2: /var/jenkins_home/workspace/simple-tdd- pipeline@tmp/durable-ebc35179/script.sh: docker: not found 

下面是我如何运行我的jenkins形象:

 docker run --name myjenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkins 

而Jenkins的DockerFile图像是: https : //github.com/jenkinsci/docker/blob/9f29488b77c2005bbbc5c936d47e697689f8ef6e/Dockerfile

你错过了docker客户端。 在Dockerfile中这样安装它:

 RUN curl -fsSLO https://get.docker.com/builds/Linux/x86_64/docker-17.04.0-ce.tgz \ && tar xzvf docker-17.04.0-ce.tgz \ && mv docker/docker /usr/local/bin \ && rm -r docker docker-17.04.0-ce.tgz 

资源

你可以像这个@Adrian Mouat博客文章一样使用主机的docker docker engine

  docker run -d \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(which docker):/usr/bin/docker \ -p 8080:8080 jenkins 

这样可以避免在主机和jenkins容器上有多个docker引擎版本。