-
web 服务:
- 使用当前目录的 Dockerfile 构建镜像
- 挂载项目目录到容器内
- 将容器的 8000 端口映射到主机的 8000 端口
- 设置数据库连接环境变量
- 依赖于 db 服务
-
db 服务:
- 使用官方 MySQL 8.0 镜像
- 持久化存储 MySQL 数据
- 设置数据库、用户和密码
- 将容器的 3306 端口映射到主机的 3306 端口
使用方法:
-
确保项目根目录有 Dockerfile 和 docker-compose.yml 文件
-
启动服务:
docker-compose up -d
-
停止服务:
docker-compose down
-
查看服务状态:
docker-compose ps
version: '3.8'
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/app
ports:
- "8000:8000"
environment:
- DB_HOST=db
- DB_NAME=webapp
- DB_USER=user
- DB_PASSWORD=password
- DB_PORT=3306
depends_on:
- dbdb:
image: mysql:8.0
volumes:
- mysql-data:/var/lib/mysql
environment:
- MYSQL_DATABASE=webapp
- MYSQL_USER=user
- MYSQL_PASSWORD=password
- MYSQL_ROOT_PASSWORD=rootpassword
ports:
- "3306:3306"volumes:
mysql-data:
driver: local