我在如何配置我的应用程序以使用 docker 和 docker-compose 集成 Flask、PonyORM 和 MySQL 时遇到问题。
这是我的.yml
文件:
version: '3.1'
services:
mysql:
image: mysql
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: kofre.db
adminer:
image: adminer
restart: always
ports:
- 8080:8080
python:
build: .
volumes:
- .:/kofre-app
ports:
- 5000:5000
depends_on:
- mysql
这是我的 Dockerfile:
FROM python:3
ENV PYTHONBUFFERED 1
RUN mkdir /kofre-app
WORKDIR /kofre-app
COPY setup.py /kofre-app/
RUN python setup.py install
COPY . /kofre-app/
CMD [ "python", "./run.py" ]
这是我的 Pony 初始化脚本的一部分:
app = Flask(__name__)
app.config.from_object('config')
db = Database()
db.bind(provider = 'mysql', host = 'mysql', user = 'root', passwd = 'root', db = 'kofre.db')
我的问题:
- 有时当我运行命令时,我会
docker-compose up
收到消息:“无法连接到 'mysql' 上的 MySQL 服务器(超时)”。PonyORM 有问题吗?我应该使用另一个框架吗? - 有时,该
mysql
服务似乎锁定了提示,之后没有任何反应。
有人可以帮我解决这个问题吗?我会很感激你的帮助。