[英]docker-compose flask network issue
我有一个 python flask 项目,它应该是一个用于内部网络的 web 应用程序。 它位于以 docker-compose 文件开头的 docker 映像中。
有时我运行它时,flask 服务器没有收到来自外界的消息。 我认为 docker-compose 自动创建的 docker 网络一定有问题。 每当出现此问题时,我都必须重新启动盒子,然后将容器重新启动,它会自行修复。
有没有其他人看过这个?
当我说它没有看到来自盒子外部的连接时,我的意思是 HTTP 请求永远不会到达 flask 服务器。 I can attempt to go to the URL corresponding to the flask server from a different machine and the flask server sees nothing. 但是,如果我尝试从盒子内部(不是在容器内,而是在容器运行的盒子上)发送 HTTP GET 请求,flask 服务器会响应。
所以这让我相信 docker-compose 正在创建一个 docker 网络,该网络未正确配置以允许容器侦听外部请求。
这是我的 docker 撰写文件:
version: '3.7'
services:
falcon:
image: "company.com/internal/falcon:0.1"
container_name: falcon
env_file:
- ~/.env
ports:
- "80:80"
volumes:
- ${REPOS}/falcon:/app
command: /conda/bin/falcon start
这尚未经过广泛测试,但似乎已经解决了问题:
version: '3.7'
services:
falcon:
image: "company.com/internal/falcon:0.1"
container_name: falcon
network_mode: bridge # also tried host, I think bridge is right.
另一种解决方案似乎省略了上面的 network_mode 并将其放在下面:
networks:
default:
external:
name: prod_default
我仍然不知道它为什么会发生,但这两种解决方案似乎都可以解决它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.