66

Windows で Docker を実行することについて多くの質問があることは承知していますが、この質問は Windows で最新の Docker for Windows を実行することに関するものです。
私の場合、Windows 10 Pro 64 ビットを使用しています。サイトによると、このバージョンはサポートされているはずです。
ここで見つけたチュートリアルに従っています: https://prakhar.me/docker-curriculum/
また、もちろん公式ガイドに従ってみました: https://docs.docker.com/docker-for-windows/

-P両方のチュートリアルで、パラメーターを使用してポートを割り当てようとしたとき、またはポートを指定しようとしたときに、同じエラー メッセージが表示され-p 8080:5000ます。

公式ガイドで実行docker run -d -p 80:80 --name webserver nginxして取得します:

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: デーモンからのエラー応答: ドライバーがエンドポイント Web サーバーでの外部接続のプログラミングに失敗しました (f9946544e4c6ad2dd9cb8cbccd251e4d48254e86562bd8e6da75c3bd42c7e45a): ユーザーランド プロキシの起動中にエラーが発生しました: mkdir /port/tcp:0.0.0.0: 80:tcp:172.17.0.2:80: 入出力エラーです。

非公式ガイドに従って実行するdocker run -p 8888:5000 prakhar1989/catnipと、基本的に同じエラーが発生します。

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: デーモンからのエラー応答: ドライバーがエンドポイント focusd_swartz での外部接続のプログラミングに失敗しました (48a0c005779c6e89bf525ead2ecff44a7f092495cd22ef7d19973002963cb232): ユーザーランド プロキシの起動エラー: mkdir /port/tcp:0.0.0.0: 8888:tcp:172.17.0.2:5000: 入出力エラーです。

ポートを割り当てようとしないと、コンテナーは実行されますが、アクセスする方法がわかりません。

私が実行しているドッカーのバージョン:

  • Docker バージョン 1.12.3、ビルド 6b644ec`
  • docker-compose バージョン 1.8.1、ビルド 004ddae`
  • docker-machine.exe バージョン 0.8.2、ビルド e18a919`

どんな助けでも大歓迎です。ありがとうございました。

4

11 に答える 11

13

これは、ポート番号の競合が原因です: ここの github の問題https://github.com/docker/compose/issues/3277

基本的に、ポートは使用中です。リセットが機能した理由は、他のマッピングが消去されたためです。

于 2016-11-21T19:10:39.290 に答える
0

この問題に関するすべての提案を試しました。すべてのコンテナーを強制終了し、Docker デスクトップを再起動し、「高速スタートアップ」を無効にし、コンピューターを再起動し、「実験的機能」が無効になっていることを確認しました。そのようなものはどれも機能しませんでした。

私は最終的にそれを実行しました。試してみたいことがいくつかあります(実際に何が修正されたのかわかりません)。

  1. 「Docker デスクトップ」を見つけて右クリックし、「管理者として実行...」
  2. 問題のあるポートに注意してください。一部の人々は、これは「そのポートは使用中です」という Docker の無愛想な言い方かもしれないと言っています。私の場合、ポートは 80 でした。念のため、Windows Pro のサービスにアクセスし、「World Wide Web Publishing Service」を無効にしました。
于 2019-04-14T15:16:08.753 に答える