2017-11-24 1 views
1

に接続できません: https://jenkins.io/doc/tutorials/building-a-java-app-with-maven/#fork-and-clone-the-sample-repository-on-githubジェンキンスパイプライン - 私はドッカーズでジェンキンスとハロー世界のMaven Javaアプリケーションを構築するために、このチュートリアルを、以下の午前ドッカーデーモン

これが私のアプリ(ちょうどフォークチュートリアルを形成する)である。simple-java-maven-app

私は、リモートリポジトリ(Github)をPipelineのオプション(リポジトリURL)のローカルリポジトリ(またはホストリポジトリ)ではなく、使用すると少し違いがあります。私はJenkinsfileをプッシュして、Pipelineでhello-worldアプリケーションを構築しました。

// Jenkinsfile for Pipeline 
pipeline { 
    agent { 
     docker { 
      image 'maven:3-alpine' 
      args '-v /root/.m2:/root/.m2' 
     } 
    } 
    stages { 
     stage('Build') { 
      steps { 
       sh 'mvn -B -DskipTests clean package' 
      } 
     } 
    } 
} 

私は、以下のこのerrorを持って、それのために任意の解決策を見つけることができません。

docker pull maven:3-alpine 
Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?). Using system default: https://index.docker.io/v1/ 
Cannot connect to the Docker daemon. Is the docker daemon running on this host? 

みんなありがとうのWindows 10

使用してI。

答えて

2

Docker(DinD)でDockerを使用していますが、推奨されるCI手法ではありません。だから、あなたはイメージではなく、ジェンキンスコンテナよりもあなたのホストマシン上の&コンテナを働かせることができる

docker container run -v /var/run/docker.sock:/var/run/docker.sock ...

:あなたは次のようジェンキンスコンテナへのボリュームとしてごホストのドッカーデーモンソケットをマウントする必要があります。詳細についてはClick Hereをご覧ください。

+0

「推奨されるCIアプローチではない」とはどういう意味ですか? DinDは基本的にこの目的のために設計されています。格納されているホストのソケットを内部ドッカーに公開することで、ドッカーのコンテナが基本的にホストのドッカーを引き継ぐことができます。ブロガーの懸念事項は、複数のドッカーCIビルドを同じホスト上で並行して実行する場合にのみ関係します。 – Otheus

関連する問題