環境
- docker-compose
事象
docker-compose でのwebサーバーの公開について。
docker-compose.ymlでwebを直接(proxyとか噛まさずに)公開しようと、portsで指定する。
ports:
- "80"
- "443"
「web:」サービスが80番で公開されている認識ですが、
docker のホストマシン側で
curl http://localhost/
しても、
curl: (7) Failed to connect to localhost port 80 after 0 ms: 接続を拒否されました
と表示されてしまいます。
webサービスコンテナ内で
curl http://localhost/
をすると、正常にレスポンスが返されます。
原因
docker-compose.ymlのwebサービスのportsセクションで、ホストマシンのポート80がコンテナのポート80にマッピングされているか確認します。現在の設定では、”80″と”443″が指定されていますが、ホスト側のポートが明示されていなかったっす。
対処
以下のように修正した。
ports:
- "80:80"
- "443:443"
コメント