Docker Compose 本地环境搭建:mysql
Docker Compose 本地环境搭建mysql 前言Docker Compose 本地环境搭建相关文章 Docker Compose 本地环境搭建mysql 目录结构设计 docker-compose.yml 启动方式 前言Docker Compose 本地环境搭建相关文章Docker Compose 本地环境搭建独立 Compose 共享网络 .env 统一管理架构设计篇Docker Compose 本地环境搭建.env 统一配置模板Docker Compose 本地环境搭建mysqlDocker Compose 本地环境搭建elasticsearchDocker Compose 本地环境搭建skywalkingDocker Compose 本地环境搭建redisDocker Compose 本地环境搭建nacosDocker 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}:3306environment: 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 替换