5

私の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 がノードにない場合にノードに自動的にインストールするコマンドの目的です。

4

1 に答える 1