我有一个简单的 Flask 应用程序,由 Web 部分和数据库部分组成。代码可以找到here https://github.com/wiwa1978/flask-employees。在本地运行这个 Flask 应用程序效果非常好。
我想让该应用程序在 Docker 上运行。因此我创建了以下 docker-compose 文件。
version: '3.6'
services:
web:
build: .
depends_on:
- db
networks:
- default
ports:
- 50000:5000
volumes:
- ./app:/usr/src/app/app
- ./migrations:/usr/src/app/migrations
restart: always
db:
environment:
MYSQL_ROOT_PASSWORD: ***
MYSQL_DATABASE: flask_employees
MYSQL_USER: root
MYSQL_PASSWORD: ***
image: mariadb:latest
networks:
- default
ports:
- 33060:3306
restart: always
volumes:
- db_data:/var/lib/mysql
volumes:
db_data: {}
在 Flask 应用程序中,我设置以下内容SQLALCHEMY_DATABASE_URI = 'mysql://root:***@localhost:33060/flask_employees'
.
当我做docker-compose up
,两个容器都已创建并正在运行,但是当我转到 http://localhost:50000 或http://127.0.0.1:50000 http://127.0.0.1:50000 I get:
无法访问此站点,127.0.0.1 拒绝连接。
您必须在“0.0.0.0”主机上运行 Flask 应用程序,以便能够从 docker 容器映射端口。
if __name__ == '__main__':
app.run(host='0.0.0.0', port='5000')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)