创建文件夹
cd ~
mkdir -p docker/nginx docker/mysql docker/code
mkdir -p vision
创建docker-compose.yml目录
services:
mysql:
image: mysql:8.0
container_name: mysql8
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 08129d06979d09de
MYSQL_DATABASE: db_vision
MYSQL_USER: vision
MYSQL_PASSWORD: FrJn2WJrhzAfExYA
ports:
- "3306:3306"
volumes:
- ./mysql/data:/var/lib/mysql
django:
image: python:3.12
container_name: python312
restart: unless-stopped
working_dir: /code/vision # 改成项目根目录
volumes:
- ./code/vision:/code/vision
- /vision:/vision # 上传/生成文件
command: bash -c "pip install --upgrade pip && pip install -r requirements.txt && python manage.py runserver 0.0.0.0:8000"
ports:
- "8000:8000"
environment:
- PYTHONUNBUFFERED=1
depends_on:
- mysql
创建dockerfile文件
# 1. 基础镜像
FROM python:3.12-slim
# 2. 工作目录
WORKDIR /app
# 3. 复制依赖文件
COPY code/vision/requirements.txt .
# 4. 安装依赖
RUN pip install --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# 5. 默认命令
CMD ["bash"]
创建mysql8.0的数据目录
# 进入 mysql 目录
cd ~/docker/mysql
# 创建 MySQL 数据目录
mkdir -p data
启动/停止命令
# 启动容器,第一次如果没有镜像会自动下载
docker compose up -d