私のManage Jenkins
>Global Tool Configuration
では、次のように「docker」というツールを既に構成しています。
name: docker
install automatically: CHECKED
docker version: latest
次に、私が持っているjenkinsfile
のは次のものだけで、他には何もありません:
node {
DOCKER_HOME = tool "docker"
sh """
echo $DOCKER_HOME
ls $DOCKER_HOME/bin/
$DOCKER_HOME/bin/docker images
$DOCKER_HOME/bin/docker ps -a
"""
}
「 Docker デーモンに接続できません。Docker デーモンはこのホストで実行されていますか? 」というようなエラーが表示されます。
以下は完全console log
です:
Started by user Syed Rakib Al Hasan
[Pipeline] node
Running on master in /var/jenkins_home/workspace/helloDocker
[Pipeline] {
[Pipeline] tool
[Pipeline] sh
[helloDocker] Running shell script
+ echo /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/docker
/var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/docker
+ ls /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/docker/bin/
docker
+ /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/docker/bin/docker images
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE
パイプラインが docker コマンドを実行する行に到達する前に、docker デーモン/サービスが実行/開始されていることを確認するにはどうすればよいですか?
私がここでやっていることを達成するための他のネイティブ docker-build-step プラグインの方法はありますか? docker ps -a
またはdocker images
またはのようにdocker build -t
?
いくつかの仮定:
選択したノードには、ホスト マシンに docker/docker-engine がインストール/実行されていないとします。tool
これが、 docker がノードにない場合にノードに自動的にインストールするコマンドの目的です。