web-dev-qa-db-ja.com

Docker Toolbox-ローカルホストが機能しない

Docker Toolboxを使用しているのは、Windows 10 proではないため、Hyper-Vがコンピューターにないためです。すべて正常に機能しているように見えますが、ブラウザで0.0.0.0:80にアクセスしようとすると常に返されます:このサイトにアクセスできません

しかし、コマンドを実行すると:docker container ps次のようになります:0.0.0.0:80->80/tcpは、このアドレスが機能することを意味します。 stackoverflowとgithubの問題を検索しました。今、私は立ち往生しています。

何か不足していますか?

ありがとう、マーク

編集:

docker-machine ip defaultを使用すると、192.168.99.100が返されます。ポート80で実行します。アドレスがコンテナIDになることを除いて、同じ結果が得られます:https://fd677edg12

私はipv4を見つけるためにcmdでそのコマンドを実行します:cmd /k ipconfig /all。結果をポートに入力すると、同じものが返されます:https://fd677edg12

58
Mark

Docker ToolboxにはDocker for Windowsほどの便利さはありませんが、Homeエディションを使用しているので使用するのは正しいです。

Toolboxでは、VirtualBoxでLinux VMを実行しているため、localhostには何も、デフォルトでは192.168.99.100になります。

したがって、docker run -p 80:80 nginxを実行すると

(そのポートでリッスンするには192.168.99.100のポートを公開する必要がありました)

その後、http://192.168.99.100に移動する必要があります。

111
Bret Fisher

最初は、DockerToolBoxとOracleVM VirtualBoxを使用しているときに、localhost:8080でアプリケーションにアクセスするときに問題がいくつかありました。

VirtualBoxの場合:

  1. 適切なマシン(「default」とラベル付けされたマシン)をクリックします
  2. 設定
  3. ネットワーク>アダプター1>詳細設定>ポート転送
  4. 「+」をクリックして新しいルールを追加します
  5. ホストポート8080およびゲストポート8080を設定します。ホストIPとゲストIPは空のままにしてください

コマンドを実行します:

docker run -p 8080:8080 ${image_id}
36
EJJ

https://docs.docker.com/docker-for-windows/#set-up-tab-completion-in-powershell でwindowsチュートリアルのdockerをフォローしていて、ステップ#6でスタックしましたWebブラウザでnginxをテストするとき。 Windows Homeも使用していて、Hyper-Vを持っていないため、同様の問題に直面したようです。私の回避策は非常に簡単です:

  1. docker IPのデフォルトを確認してください

$ docker-machine ip default

192.168.99.100

  1. Oracle Virtual Machineに移動して、ポート転送を設定します。ネットワーク設定がNATであることを確認し、ポート転送を追加します。ホストIP:127.0.0.1、ゲストIP:192.168.99.100、ポートはすべて80に設定 このように

  2. ブラウザでもう一度試して、 http:// localhost または http://127.0.0.1 を実行します(ポート80も追加できます)。実行されるはずです。

問題は、nginx IPはdocker Virtual Machine内でアクセスできることを意図しているため、ホストマシンのブラウザーで直接アクセスするには、そのポート転送設定が必要であるということです。

26
nitya wijayanti

次の手順に従って、「192.168.99.100」の代わりにlocalhostを使用できます。

ステップ#01:

docker-machine ip default

デフォルトのIPが表示されます

ステップ#02:

docker-machine stop default

ステップ#03:

  1. VirtualBox Managerを開きます(Windowsの起動プログラムからVirtualBox Managerを検索します)
  2. Docker Machine VirtualBoxイメージを選択します(例:デフォルト)
  3. 設定->ネットワーク->詳細設定->ポート転送を開きます
  4. アプリ名、目的のホストポート、ゲストポートを追加しますi.e, app name : nginx, Host: 127.0.0.1, Host port: 80, guest port: 80

ステップ#04:これで、次を実行してDockerマシンを起動する準備ができました。

docker-machine start default

次に、Dockerコンテナーを起動するだけで、localhost経由でアクセスできます。

詳細はこちら をご覧ください。

0
Bablu Ahmed