Docker Toolbox利用時においてポートフォワーディングができない


概要

Docker Toolbox利用時においてポートフォワーディングができなかった。
原因は2つ。
Toolbox利用時にはDocker for Macと異なり、VMに対してアクセスする必要がある。
ブラウザにMicrosoft Edgeを利用している場合、Edgeはデフォルトではローカルホスト接続ができない。
よって、別のブラウザを利用するか、設定を変更する必要がある。

発生エラー

以下のように、nginxのイメージについてポートフォワーディングを指定の上、ブラウザからlocalhost:8080にアクセスしたがnginxの画面は表示されず、ブラウザからページが見つかりませんのエラーになった。

$ docker run -p 8080:80 nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
a5a6f2f73cd8: Pull complete
9ab922c47467: Pull complete
6c77b7c267b0: Pull complete
Digest: sha256:333a036f4f8cd2314bdf339a5c72440e011071831699abefe03b73442d9b0045
Status: Downloaded newer image for nginx:latest

エラー原因

  • Toolbox利用時にはDocker for Macと異なり、VMに対してアクセスする必要がある。
  • ブラウザにMicrosoft Edgeを利用している場合、Edgeはデフォルトではローカルホスト接続ができない。

対応策

VMへアクセスするためのIPは以下のコマンドで確認できる。

$ docker-machine ip default
192.168.99.100

また、ブラウザについてはChromeやIEを利用すればよい。