共通する問題の回避策¶
DOCKER_HOST
のリセット(unset)¶
DOCKER_HOST
環境変数の設定は不要です。 bash を使用する場合は、リセットのために unset ${!DOCKER_*}
コマンドを使います。他のシェルの場合は、シェルのドキュメントをご確認ください。
ウェブサーバの例で Docker が動作しているのを確認¶
hello-world-nginx
サンプルなどを使い、 Docker Desktop で https://localhost
上にウェブサーバを起動します。メニューバー上に Docker 鯨(のアイコン)があるのを確認し、シェル上の Docker コマンドが Docker Desktop エンジンに接続しているのを確認します(Toolbox のエンジンではありません)。そうしなければ、ウェブサーバ・コンテナは実行できるかもしれませんが、 docker
は "web page not available"(ウェブページが表示できません)というエラーを返すでしょう。
port already allocated
(ポートが既に割り当てられています) エラーを解決するには¶
Bind for 0.0.0.0:8080 failed: port is already allocated
や listen tcp:0.0.0.0:8080: bind: address is already in use
... のようなエラーが出ることがあるでしょう。
これらのエラーは、Windows 上の他のソフトウェアが各ポートを使っている場合によく発生します。どのソフトウェアが使っているかを見つけるか、 resmon.exe
の GUI を使い "Network" と "listening Ports" をクリックするか、 Powershell 上では netstat -aon | find /i "listening "
を使って、対象ポートを現在使っているプロセスの PID を見つけます(PID の値は行の右端です)。他のプロセスの停止を決めるか、あるいは、docker アプリで別のポートを使うかを決めます。
アンチウィルス ソフトウェアをインストールしていると、Docker Desktop の起動に失敗¶
いくつかのアンチウィルス ソフトウェアは、Hyper-V と Microsoft Windows 10 ビルドによっては互換性がない場合があります。典型的に発生するのは Windows update 直後で、Docker デーモンからエラーの反応が表示され、Docker Desktop の起動に失敗します。
一時的な回避策としては、アンチウィルス ソフトウェアをアンインストールするか、Docker Desktop フォーラム上での他の回避策をお探しください。
参考
- Workarounds for common problems