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

相关推荐
计算机安禾14 分钟前
【Linux从入门到精通】第31篇:防火墙漫谈——iptables与firewalld防护指南
linux·运维·php
下一页盛夏花开31 分钟前
ubuntu 20中安装QT以后出现红色空心断点
linux·运维·ubuntu
Nice_Fold2 小时前
Kubernetes DaemonSet、StatefulSet与Service(自用笔记)
笔记·容器·kubernetes
sxgzzn3 小时前
光伏数智化综合平台:让光伏电站运维更智能、更高效
运维
乌托邦的逃亡者5 小时前
Linux中如何检测IP冲突
linux·运维·tcp/ip
一曦的后花园5 小时前
linux搭建promethes并对接node-exporter指标
linux·运维·服务器
乌托邦的逃亡者5 小时前
CentOS/Openeuler主机中,为一个网卡设置多个IP地址
linux·运维·网络·tcp/ip·centos
拾贰_C6 小时前
【OpenClaw | openai | QQ】 配置QQ qot机器人
运维·人工智能·ubuntu·面试·prompt
桌面运维家6 小时前
服务器进程异常监控:快速定位与排障实战指南
运维·服务器