概要
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を利用すればよい。