要使用 Docker 部署使用 Peewee ORM 和 MySQL 的应用程序,你需要遵循以下步骤:
以下是一个简单的示例,展示如何使用 Docker 部署一个使用 Peewee 和 MySQL 的 Python 应用程序。
my_project/
├── app.py
├── models.py
└── Dockerfile
app.py
from peewee import MySQLDatabase, Model, CharField
db = MySQLDatabase('my_database', user='root', password='password', host='mysql')
class BaseModel(Model):
class Meta:
database = db
class User(BaseModel):
username = CharField(unique=True)
db.connect()
db.create_tables([User])
@app.route('/users', methods=['POST'])
def create_user():
user = User.create(username='testuser')
return {'id': user.id, 'username': user.username}, 201
models.py
from peewee import MySQLDatabase, Model, CharField
db = MySQLDatabase('my_database', user='root', password='password', host='mysql')
class BaseModel(Model):
class Meta:
database = db
class User(BaseModel):
username = CharField(unique=True)
Dockerfile
# 使用官方 Python 基础镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 复制项目文件到容器中
COPY . /app
# 安装依赖
RUN pip install peewee flask mysqlclient
# 暴露端口
EXPOSE 5000
# 运行应用程序
CMD ["python", "app.py"]
docker-compose.yml
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
depends_on:
- mysql
mysql:
image: "mysql:5.7"
environment:
MYSQL_DATABASE: 'my_database'
MYSQL_USER: 'root'
MYSQL_PASSWORD: 'password'
MYSQL_ROOT_PASSWORD: 'root_password'
ports:
- "3306:3306"
docker-compose up --build
requirements.txt
文件中列出,并在 Dockerfile 中正确安装。通过以上步骤,你可以使用 Docker 部署一个使用 Peewee 和 MySQL 的 Python 应用程序。
云+社区沙龙online [技术应变力]
企业创新在线学堂
企业创新在线学堂
企业创新在线学堂
北极星训练营
北极星训练营
API网关系列直播
北极星训练营
Tencent Serverless Hours 第13期
腾讯云GAME-TECH沙龙
领取专属 10元无门槛券
手把手带您无忧上云