我正在尝试将一个简单的 Flask 应用程序移动到 docker,但我无法弄清楚为什么无法从浏览器访问该应用程序。
docker-compose 文件
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/app
environment:
FLASK_APP: api
FLASK_ENV: development
redis:
image: "redis:alpine"
dockerfile
FROM python:3.7
ADD . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["flask", "run"]
__init__py:
def create_app(test_config=None):
app = Flask(__name__, instance_relative_config=True)
...
return app
来自 docker-compose up --build 的结果
web_1 | * Serving Flask app "api" (lazy loading)
web_1 | * Environment: development
web_1 | * Debug mode: on
web_1 | * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
web_1 | * Restarting with stat
web_1 | * Debugger is active!
web_1 | * Debugger PIN: 277-205-758
但是当我进入浏览器时:
The connection was reset
有什么想法吗?我看不到我错过了什么,因为服务器正在运行,但它确实立即重置了连接...
编辑:
- 我确实尝试通过 localhost 0.0.0.0 访问它,也使用容器 IP 地址
最佳答案
尝试
CMD ["flask", "run", "--host=0.0.0.0"]
关于python - 在 docker 容器上运行时无法连接到 Flask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54776600/