Docker Compose 配置

  1. web 服务

    • 使用当前目录的 Dockerfile 构建镜像
    • 挂载项目目录到容器内
    • 将容器的 8000 端口映射到主机的 8000 端口
    • 设置数据库连接环境变量
    • 依赖于 db 服务
  2. db 服务

    • 使用官方 MySQL 8.0 镜像
    • 持久化存储 MySQL 数据
    • 设置数据库、用户和密码
    • 将容器的 3306 端口映射到主机的 3306 端口

使用方法:

  1. 确保项目根目录有 Dockerfile 和 docker-compose.yml 文件

  2. 启动服务:docker-compose up -d

  3. 停止服务:docker-compose down

  4. 查看服务状态: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:
    - db

    db:
    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

相关推荐
love530love1 小时前
《Anaconda 精简路径治理》系列 · 番外篇Conda 虚拟环境路径结构方案全解——六种路径布局对比、优劣与治理建议
运维·人工智能·windows·python·conda
老马啸西风4 小时前
windows wsl2-05-docker 安装笔记
运维·windows·笔记·docker·容器·k8s
老马啸西风4 小时前
windows docker-02-docker 最常用的命令汇总
linux·运维·ubuntu·docker·容器·eureka·maven
sztomarch5 小时前
Tshark-Tcpdump
linux·运维·网络·测试工具·tcpdump
手眼通天王水水5 小时前
【Linux】3. Shell语言
linux·运维·服务器·开发语言
(:满天星:)5 小时前
JobSet:Kubernetes 分布式任务编排的统一解决方案
分布式·容器·kubernetes
程序员JerrySUN6 小时前
Valgrind Memcheck 全解析教程:6个程序说明基础内存错误
android·java·linux·运维·开发语言·学习
大母猴啃编程6 小时前
再谈文件-ext2文件系统
linux·运维·服务器·网络
NEXU56 小时前
Linux:线程控制
linux·运维·服务器
jllllyuz7 小时前
nginx定制http头信息
运维·nginx·http