mvn package docker:build
でmavenを使用してdockerイメージを直接構築しようとしています。
Dockerが実行されており、docker ps
が私のコンテナーを表示するため、すべてが正しく実行されていると想定します。ただし、次のエラーが表示されます。
[エラー]プロジェクト予約で目標com.spotify:docker-maven-plugin:0.2.3:build(default-cli)の実行に失敗しました:例外がキャッチされました:Java.util.concurrent.ExecutionException:com.spotify.docker.client。 shaded.javax.ws.rs.ProcessingException:o rg.Apache.http.conn.HttpHostConnectException:Connect to localhost:2375 [localhost/127.0.0.1、localhost/0:0:0:0:0:0:0:1 ]失敗:接続が拒否されました:接続->
私の最初のアプローチは、Windowsで作業しているため、localhostの代わりにdocker-machine IPアドレスを呼び出す必要がありましたが、それも機能しませんでした。私は間違っているのは簡単なことだと思いますが、ドッカーが(一見)正常に動作しているときに接続拒否エラーについては何も見つかりませんので、ここでちょっと迷っています。
これが些細なことであれば、すみません。
WindowsでDocker/Hyper-Vを使用している場合、com.spotify:docker-maven-plugin:1.0.0でこれが発生しました。これについての議論があります 別のフォーラムで 、彼らはオンにすることを勧めます
dockerの設定/一般タブで。それは私のために働いた。
この設定を使用して問題を解決します:
<configuration>
<imageName>10.10.8.175:5000/${artifactId}:${project.version}</imageName>
<dockerHost>https://192.168.99.100:2376</dockerHost>
<dockerCertPath>C:\Users\AtomView\.docker\machine\machines\default</dockerCertPath>
<dockerDirectory>src/main/resources/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>*.Zip</include>
</resource>
</resources>
</configuration>
「docker-machine ls」を実行してIPを確認してください。ローカルホストアドレスでない場合は、プラグイン構成にdockerHostタグが必要になります。例:<dockerHost>https://192.168.99.100:2376</dockerHost>
プラグインの最新バージョンは0.2.3ではなく0.4.1です
MacOでは、次のように環境変数を設定するだけです。
docker-machine env
IDEからビルドを実行するときは、これらの変数が適切に設定されていることを確認してください。
以下の変更により、OSX El Capitan、Dockerバージョン1.12.1(ビルド:12133)の問題が修正されました。
export DOCKER_Host=unix:///var/run/docker.sock
mvn package docker:build
はまだ失敗します。
Windows 7 64では、Docker envを実行するにはlinuxVMが必要なため、インストールが少し難しいようです(以前のvboxインストールの問題を更新します) https://github.com/docker/machine/issues/3396 )
幸いなことに、Dockerクイックスタートターミナルでは次のことができます。
$ docker-machine.exe env
export DOCKER_TLS_VERIFY="1"
export DOCKER_Host="tcp://192.168.99.101:2376"
export DOCKER_CERT_PATH="C:\Users\uv\.docker\machine\machines\default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your Shell:
# eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env)
プラグイン構成に何を入れるかを示します
<dockerHost>https://192.168.99.101:2376</dockerHost>
しかし、ここにあるアドバイスを使用した後にのみ:
重要な部分は次のとおりです。
Run FOR /f "tokens=*" %i IN ('docker-machine env --Shell cmd default') DO %i
cmd/intellijターミナルでmvnw docker:build
を正常に実行できます:)
Ubuntu 16.04では、次の方法で解決しました。
DOCKER_Host=unix:///var/run/docker.sock mvn clean install
maven Dockerプラグインを最新バージョン1.2.0に更新します。これにより問題が解決します。