Docker Compose 本地环境搭建:mysql
- 🔗 前言:Docker Compose 本地环境搭建相关文章
- 🐳 Docker Compose 本地环境搭建:mysql
- 📚 目录结构设计
- 📄 docker-compose.yml
- 🚀 启动方式
🔗 前言:Docker Compose 本地环境搭建相关文章
Docker Compose 本地环境搭建:独立 Compose + 共享网络 + .env 统一管理(架构设计篇)
Docker Compose 本地环境搭建:.env 统一配置模板
Docker Compose 本地环境搭建:mysql
Docker Compose 本地环境搭建:elasticsearch
Docker Compose 本地环境搭建:skywalking
Docker Compose 本地环境搭建:redis
Docker Compose 本地环境搭建:nacos
Docker Compose 本地环境搭建:nginx
🐳 Docker Compose 本地环境搭建:mysql
📚 目录结构设计
推荐使用如下结构:
infra/ ├── .env ├── mysql/ │ └── docker-compose.yml ├── redis/ │ └── docker-compose.yml ├── elasticsearch/ │ └── docker-compose.yml ├── skywalking/ │ └── docker-compose.yml ├── nacos/ │ └── docker-compose.yml📄 docker-compose.yml
# =========================================================# 用于构建环境:MySQL# 宿主机挂载目录、端口、密码、版本号、环境后缀均通过 .env 文件管理# =========================================================############################################################ 网络配置###########################################################networks: env_network:# 内部网络标识固定driver: bridge name:${NETWORK_NAME}# Docker 实际网络名动态生成ipam: config: - subnet:${NETWORK_SUBNET}# 子网从 .env 获取############################################################ 卷(Volume)配置###########################################################volumes:# MySQLmysql_data: driver:localdriver_opts: type: none device:${HOST_VOLUME}/${ENV}/MySQL8/data o:bindmysql_conf: driver:localdriver_opts: type: none device:${HOST_VOLUME}/${ENV}/MySQL8/conf o:bindmysql_logs: driver:localdriver_opts: type: none device:${HOST_VOLUME}/${ENV}/MySQL8/logs o:bind############################################################ 服务定义###########################################################services:# MySQLmysql: image: mysql:${MYSQL_VERSION}container_name: mysql_${MYSQL_VERSION}_${ENV}# 容器名体现版本和环境networks: - env_network# 内部网络引用固定标识ports: -"${MYSQL_PORT}:3306"environment: MYSQL_ROOT_PASSWORD:${MYSQL_ROOT_PASSWORD}volumes: - mysql_data:/var/lib/mysql - mysql_conf:/etc/mysql/conf.d - mysql_logs:/logs restart: unless-stopped labels: env:${ENV}version:${MYSQL_VERSION}service: mysql_${ENV}🚀 启动方式
在.env同级目录下执行
dockercompose --env-file .env-fmysql/docker-compose.yml up-d- -d 表示 后台运行
- Compose 会:
- 自动读取 .env 文件里的变量
- 根据 docker-compose.yml 配置创建网络、卷和容器
- 容器名、端口、挂载目录都会根据 .env 替换