Docker コンテナーでフラスコを使用しようとしていますが、複数の NIC の問題があるようです。
そのフラスコ コンテナーには 2 つの Docker ネットワークがあります。1 つはブリッジで、もう 1 つはオーバーレイです。ブリッジ IP に (外部クライアントまたは Docker ホストから) アクセスすると、Flask が応答します。しかし、(同じオーバーレイ ネットワークにある他のコンテナーから) オーバーレイ ネットワークの IP にアクセスしても応答しません。
app.py`app.run(debug=True,host='0.0.0.0',port=80)`
docker-compose
ports: "5000:80"
net: "my-overlay-network"
command: "python app.py"
コンテナのIP
root@flask:/app# ip a
inet 127.0.0.1/8 scope host lo
inet 172.30.0.16/16 scope global eth0 <=== overlay IP
inet 172.18.0.12/16 scope global eth1 <=== bridge IP
アクセスURL
- 外部クライアント(作品)から
- ドッカーホストから(作品)
- 他のオーバーレイ ネットワーク コンテナーから (機能しません)
- http://172.30.0.16/
- fyi: これらのコンテナーは、nslookup でフラスコの IP を取得できるため、同じネットワーク内にあります。
- ドッカー 1.11.1
- パイソン3.5.1
- フラスコ 0.11