ASP.NET Core 1.1 Web API を Docker コンテナーで実行しようとしていますが、ブラウザーまたはcurl
. トラブルシューティングのために、標準の nginx および Apache httpd コンテナーも立ち上げましたが、これらにも接続できません。そのため、これはアプリケーションの問題ではなく、Docker/Docker Toolbox/構成の問題であると考えています。
nginx と Apache で行ったことに焦点を当てます。
Windows 7 Professional で Docker Toolbox を実行していますが、すべてが期待どおりに動作しているようです。
- Docker コマンドはすべて期待どおりに機能します
- 基盤となる Windows ファイルシステムにアクセスできます
- 期待どおりの結果を得ることができます
curl http://localhost
(Windows 7 で既定の IIS Web サイトを起動した場合)
そこで、IIS をシャットダウンし、コンテナーで nginx を実行します。
$ docker run -d -p 80:80 nginx
45bb1f373c11b820d8431de3eb3bf222d57d412de53e8625f461b62c4279e644
Docker が実行中の nginx を表示するようになりました。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
45bb1f373c11 nginx "nginx -g 'daemon off" 47 seconds ago Up 48 seconds 0.0.0.0:80->80/tcp, 443/tcp admiring_pike
curl
しかし、 (Docker Toolbox コマンド プロンプト内で) または Windows の Web ブラウザーのいずれにも接続できません。
$ curl http://localhost
curl: (7) Failed to connect to localhost port 80: Connection refused
Apache 2.4 (httpd) コンテナーを実行すると、まったく同じ結果が得られます。
何か案は?ありがとう!ピーター