Windows 10マシンでDocker 1.12.0を実行しています。 Javaプログラム、依存関係マネージャとしてMaven 3.3.9を使用しています。MavenDockerプラグイン( https://github.com/fabric8io/docker- maven-plugin )。クリーンインストールで次のエラーが発生します。
[エラー]プロジェクト統合テストでゴールio.fabric8:docker-maven-plugin:0.15.16:build(docker-build-start)を実行できませんでした:ゴールio.fabric8:docker-mavenの実行docker-build-start -plugin:0.15.16:build failed:No <dockerHost>
または<machine>
指定、DOCKER_Host環境変数なし、読み取り/書き込み可能 '/var/run/docker.sock'なし-> [ヘルプ1]
POMファイルに次の構成オプションを指定してクリーンインストールを実行すると、
<dockerHost>tcp://0.0.0.0:2376</dockerHost>
次の結果が表示されます。
[エラー]プロジェクト統合テストで目標io.fabric8:docker-maven-plugin:0.15.16:build(docker-build-start)を実行できませんでした:Dockerアクセスオブジェクトを作成できません:サーバーからAPIバージョンを抽出できません https://0.0.0.0:2376 :0.0.0.0:2376 [/0.0.0.0]への接続に失敗しました:接続が拒否されました:接続-> [ヘルプ1]
私の質問:このmavenプラグインがデーモンに到達できる場所を伝えるために使用できるIPアドレスはありますか?通常のDockerコマンドは問題なく機能します。プラグインはOS Xで問題なく動作します。
Windows用のDockerを備えたWindows 10では、Docker Engine APIは次の2つの場所から入手できます。
npipe:////./pipe/docker_engine
http://localhost:2375
私はlocalhostで試すことをお勧めします。
詳細はこちら: https://docs.docker.com/docker-for-windows/faqs/#/how-do-i-connect-to-the-remote-docker-engine-api
Mavenゴールを実行しているユーザーはdocker.sockにアクセスできないようです。エラーメッセージは、問題を解決するためにどのオプションがあるかを示しています。
番号
<dockerHost>
または<machine>
指定、DOCKER_Host環境変数なしおよび読み取り/書き込み可能 '/var/run/docker.sock'
最後のオプションは、ファイル権限が必要であり、Dockerマシンを作成したり、DOCKER_Hostを設定したりする必要がないため、最も簡単なオプションです。Linuxでは、docker.sockの読み取り/書き込み権限を次のように変更できます。
Sudo chmod 776 /var/run/docker.sock
Windowsではこの記事を読みます: Microsoftの記事
EclipseでWindowとMavenを使用してJavaプロジェクトをビルドしているが、引き続きエラーが発生する場合は、次の手順を実行する必要があります。
ステップ1:
[設定]-> [一般]の[Expose daemon on ...]チェックボックスを有効にする必要があります。@ Adriaan Kosterが述べました。
ステップ1で問題が解決しない場合は、
ステップ2:Eclipseを管理モードで実行します。これで問題なく動作するはずです。
誰かがスキップしたい場合fabric8 docker-maven-pluginの実行により、エラーでビルドが成功しない
指定なし、DOCKER_Host環境変数なし、読み取り/書き込み可能 '/var/run/docker.sock'または '//./pipe/docker_engine'なし、Dockerマシンなどの外部プロバイダーの設定なし
その後、これは-Ddocker.skip=true
https://dmp.fabric8.io/#global-configuration に従って。