diff --git a/compose-file/docker-compose-dev.yml b/compose-file/docker-compose-dev.yml new file mode 100644 index 0000000..aeb745f --- /dev/null +++ b/compose-file/docker-compose-dev.yml @@ -0,0 +1,121 @@ +# Docker Compose 文件版本定义 +# 3.7 版本支持丰富的部署配置和资源限制功能 +version: '3.7' + +# 服务定义块,包含所有需要部署的容器服务 +services: + # 后端服务 - 小蚂蚁管理系统后端 + xiaomayi-admin: + # 镜像地址:从私有Harbor仓库拉取镜像 + # ${VERSION:-latest} 表示使用VERSION环境变量,如果未设置则使用latest标签 + image: 192.168.10.102:8001/xiaomayi/xiaomayi-admin:${VERSION:-latest} + + # 容器名称:指定容器的名称,便于管理和识别 + container_name: xiaomayi-admin + + # 重启策略:always表示容器退出时总是自动重启 + # 确保服务在异常退出后能够自动恢复 + restart: always + + # 网络模式:host表示使用主机网络模式 + # 容器直接使用宿主机的网络栈,性能更好,端口直接暴露在主机上 + network_mode: host + + # 端口映射:将容器内的8081端口映射到主机的8081端口 + # 格式:主机端口:容器端口 + ports: + - 8081:8081 + + # 数据卷挂载:将主机文件或目录挂载到容器内 + volumes: + # 挂载主机hosts文件到容器内(只读模式) + # 用于容器内的域名解析,与主机保持一致 + - /etc/hosts:/etc/hosts:ro + + # 挂载上传目录:将当前目录下的upload目录挂载到容器的/opt/apps/upload + # 用于持久化存储上传的文件 + - $PWD/upload:/opt/apps/upload + + # 挂载包目录:将当前目录下的package目录挂载到容器的/opt/apps/package + # 用于存储应用程序包或其他资源文件 + - $PWD/package:/opt/apps/package + + # 部署配置:定义资源限制和预留(Docker Swarm模式下的配置) + # 在单机Docker Compose中也会被部分支持 + deploy: + resources: + # 资源限制:容器最多可以使用的资源量 + limits: + cpus: '2' # 最多使用2个CPU核心 + memory: 1.5G # 最多使用1.5GB内存 + # 资源预留:保证容器至少获得的资源量 + reservations: + cpus: '0.25' # 至少保留0.25个CPU核心 + memory: 500M # 至少保留500MB内存 + + # 前端服务 - 小蚂蚁管理系统前端 + xiaomayi-web2: + # 镜像地址:前端服务的Docker镜像 + image: 192.168.10.102:8001/xiaomayi/xiaomayi-web2:${VERSION:-latest} + + # 容器名称:前端服务容器名称 + container_name: xiaomayi-web2 + + # 重启策略:总是自动重启 + restart: always + + # 网络模式:使用主机网络模式 + network_mode: host + + # 端口映射:前端服务监听8082端口 + ports: + - 8082:8082 + + # 数据卷挂载 + volumes: + # 挂载主机hosts文件(只读) + - /etc/hosts:/etc/hosts:ro + + # 挂载上传目录(读写模式) + # :rw 表示读写权限(默认模式,显式声明更清晰) + - $PWD/upload:/opt/apps/upload:rw + + # 挂载包目录(读写模式) + - $PWD/package:/opt/apps/package:rw + + # 环境变量:设置容器内的环境变量 + environment: + # 语言设置:设置为英文UTF-8编码 + - LANG=en_US.UTF-8 + + # 本地化设置:全部使用英文UTF-8 + - LC_ALL=en_US.UTF-8 + + # Java虚拟机参数:设置文件编码为UTF-8 + # 确保中文等特殊字符正确处理 + - JAVA_OPTS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 + + # 部署配置:资源限制和预留 + deploy: + resources: + # 资源上限 + limits: + cpus: '2' # 最多2个CPU核心 + memory: 1.5G # 最多1.5GB内存 + # 资源保障 + reservations: + cpus: '0.25' # 至少0.25个CPU核心 + memory: 500M # 至少500MB内存 + +# 注意:该配置文件中使用了以下特殊配置: +# 1. network_mode: host - 主机网络模式,容器直接使用主机网络 +# 2. ${VERSION:-latest} - 环境变量替换,支持动态版本控制 +# 3. deploy.resources - Docker Swarm模式的资源管理,在单机模式下也有部分效果 +# 4. 多目录挂载 - 实现数据持久化和主机-容器文件共享 +# 5. 环境变量设置 - 确保应用程序的编码和语言环境正确 + +# 使用说明: +# 1. 部署命令:VERSION=1.2.0 docker-compose up -d +# 2. 查看日志:docker-compose logs -f +# 3. 停止服务:docker-compose down +# 4. 更新服务:VERSION=1.2.1 docker-compose up -d \ No newline at end of file diff --git a/compose-file/docker-compose.yml b/compose-file/docker-compose-prod.yml similarity index 100% rename from compose-file/docker-compose.yml rename to compose-file/docker-compose-prod.yml diff --git a/compose-file/docker-compose-test.yml b/compose-file/docker-compose-test.yml new file mode 100644 index 0000000..aeb745f --- /dev/null +++ b/compose-file/docker-compose-test.yml @@ -0,0 +1,121 @@ +# Docker Compose 文件版本定义 +# 3.7 版本支持丰富的部署配置和资源限制功能 +version: '3.7' + +# 服务定义块,包含所有需要部署的容器服务 +services: + # 后端服务 - 小蚂蚁管理系统后端 + xiaomayi-admin: + # 镜像地址:从私有Harbor仓库拉取镜像 + # ${VERSION:-latest} 表示使用VERSION环境变量,如果未设置则使用latest标签 + image: 192.168.10.102:8001/xiaomayi/xiaomayi-admin:${VERSION:-latest} + + # 容器名称:指定容器的名称,便于管理和识别 + container_name: xiaomayi-admin + + # 重启策略:always表示容器退出时总是自动重启 + # 确保服务在异常退出后能够自动恢复 + restart: always + + # 网络模式:host表示使用主机网络模式 + # 容器直接使用宿主机的网络栈,性能更好,端口直接暴露在主机上 + network_mode: host + + # 端口映射:将容器内的8081端口映射到主机的8081端口 + # 格式:主机端口:容器端口 + ports: + - 8081:8081 + + # 数据卷挂载:将主机文件或目录挂载到容器内 + volumes: + # 挂载主机hosts文件到容器内(只读模式) + # 用于容器内的域名解析,与主机保持一致 + - /etc/hosts:/etc/hosts:ro + + # 挂载上传目录:将当前目录下的upload目录挂载到容器的/opt/apps/upload + # 用于持久化存储上传的文件 + - $PWD/upload:/opt/apps/upload + + # 挂载包目录:将当前目录下的package目录挂载到容器的/opt/apps/package + # 用于存储应用程序包或其他资源文件 + - $PWD/package:/opt/apps/package + + # 部署配置:定义资源限制和预留(Docker Swarm模式下的配置) + # 在单机Docker Compose中也会被部分支持 + deploy: + resources: + # 资源限制:容器最多可以使用的资源量 + limits: + cpus: '2' # 最多使用2个CPU核心 + memory: 1.5G # 最多使用1.5GB内存 + # 资源预留:保证容器至少获得的资源量 + reservations: + cpus: '0.25' # 至少保留0.25个CPU核心 + memory: 500M # 至少保留500MB内存 + + # 前端服务 - 小蚂蚁管理系统前端 + xiaomayi-web2: + # 镜像地址:前端服务的Docker镜像 + image: 192.168.10.102:8001/xiaomayi/xiaomayi-web2:${VERSION:-latest} + + # 容器名称:前端服务容器名称 + container_name: xiaomayi-web2 + + # 重启策略:总是自动重启 + restart: always + + # 网络模式:使用主机网络模式 + network_mode: host + + # 端口映射:前端服务监听8082端口 + ports: + - 8082:8082 + + # 数据卷挂载 + volumes: + # 挂载主机hosts文件(只读) + - /etc/hosts:/etc/hosts:ro + + # 挂载上传目录(读写模式) + # :rw 表示读写权限(默认模式,显式声明更清晰) + - $PWD/upload:/opt/apps/upload:rw + + # 挂载包目录(读写模式) + - $PWD/package:/opt/apps/package:rw + + # 环境变量:设置容器内的环境变量 + environment: + # 语言设置:设置为英文UTF-8编码 + - LANG=en_US.UTF-8 + + # 本地化设置:全部使用英文UTF-8 + - LC_ALL=en_US.UTF-8 + + # Java虚拟机参数:设置文件编码为UTF-8 + # 确保中文等特殊字符正确处理 + - JAVA_OPTS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 + + # 部署配置:资源限制和预留 + deploy: + resources: + # 资源上限 + limits: + cpus: '2' # 最多2个CPU核心 + memory: 1.5G # 最多1.5GB内存 + # 资源保障 + reservations: + cpus: '0.25' # 至少0.25个CPU核心 + memory: 500M # 至少500MB内存 + +# 注意:该配置文件中使用了以下特殊配置: +# 1. network_mode: host - 主机网络模式,容器直接使用主机网络 +# 2. ${VERSION:-latest} - 环境变量替换,支持动态版本控制 +# 3. deploy.resources - Docker Swarm模式的资源管理,在单机模式下也有部分效果 +# 4. 多目录挂载 - 实现数据持久化和主机-容器文件共享 +# 5. 环境变量设置 - 确保应用程序的编码和语言环境正确 + +# 使用说明: +# 1. 部署命令:VERSION=1.2.0 docker-compose up -d +# 2. 查看日志:docker-compose logs -f +# 3. 停止服务:docker-compose down +# 4. 更新服务:VERSION=1.2.1 docker-compose up -d \ No newline at end of file diff --git a/compose-file/docker-compose-uat.yml b/compose-file/docker-compose-uat.yml new file mode 100644 index 0000000..c2af120 --- /dev/null +++ b/compose-file/docker-compose-uat.yml @@ -0,0 +1,121 @@ +# Docker Compose 文件版本定义 +# 3.7 版本支持丰富的部署配置和资源限制功能 +version: '3.7' + +# 服务定义块,包含所有需要部署的容器服务 +services: + # 后端服务 - 小蚂蚁管理系统后端 + xiaomayi-admin: + # 镜像地址:从私有Harbor仓库拉取镜像 + # ${VERSION:-latest} 表示使用VERSION环境变量,如果未设置则使用latest标签 + image: manage.harbor.djangoadmin.cn/xiaomayi/xiaomayi-admin:${VERSION:-latest} + + # 容器名称:指定容器的名称,便于管理和识别 + container_name: xiaomayi-admin + + # 重启策略:always表示容器退出时总是自动重启 + # 确保服务在异常退出后能够自动恢复 + restart: always + + # 网络模式:host表示使用主机网络模式 + # 容器直接使用宿主机的网络栈,性能更好,端口直接暴露在主机上 + network_mode: host + + # 端口映射:将容器内的8081端口映射到主机的8081端口 + # 格式:主机端口:容器端口 + ports: + - 8081:8081 + + # 数据卷挂载:将主机文件或目录挂载到容器内 + volumes: + # 挂载主机hosts文件到容器内(只读模式) + # 用于容器内的域名解析,与主机保持一致 + - /etc/hosts:/etc/hosts:ro + + # 挂载上传目录:将当前目录下的upload目录挂载到容器的/opt/apps/upload + # 用于持久化存储上传的文件 + - $PWD/upload:/opt/apps/upload + + # 挂载包目录:将当前目录下的package目录挂载到容器的/opt/apps/package + # 用于存储应用程序包或其他资源文件 + - $PWD/package:/opt/apps/package + + # 部署配置:定义资源限制和预留(Docker Swarm模式下的配置) + # 在单机Docker Compose中也会被部分支持 + deploy: + resources: + # 资源限制:容器最多可以使用的资源量 + limits: + cpus: '2' # 最多使用2个CPU核心 + memory: 1.5G # 最多使用1.5GB内存 + # 资源预留:保证容器至少获得的资源量 + reservations: + cpus: '0.25' # 至少保留0.25个CPU核心 + memory: 500M # 至少保留500MB内存 + + # 前端服务 - 小蚂蚁管理系统前端 + xiaomayi-web2: + # 镜像地址:前端服务的Docker镜像 + image: manage.harbor.djangoadmin.cn/xiaomayi/xiaomayi-web2:${VERSION:-latest} + + # 容器名称:前端服务容器名称 + container_name: xiaomayi-web2 + + # 重启策略:总是自动重启 + restart: always + + # 网络模式:使用主机网络模式 + network_mode: host + + # 端口映射:前端服务监听8082端口 + ports: + - 8082:8082 + + # 数据卷挂载 + volumes: + # 挂载主机hosts文件(只读) + - /etc/hosts:/etc/hosts:ro + + # 挂载上传目录(读写模式) + # :rw 表示读写权限(默认模式,显式声明更清晰) + - $PWD/upload:/opt/apps/upload:rw + + # 挂载包目录(读写模式) + - $PWD/package:/opt/apps/package:rw + + # 环境变量:设置容器内的环境变量 + environment: + # 语言设置:设置为英文UTF-8编码 + - LANG=en_US.UTF-8 + + # 本地化设置:全部使用英文UTF-8 + - LC_ALL=en_US.UTF-8 + + # Java虚拟机参数:设置文件编码为UTF-8 + # 确保中文等特殊字符正确处理 + - JAVA_OPTS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 + + # 部署配置:资源限制和预留 + deploy: + resources: + # 资源上限 + limits: + cpus: '2' # 最多2个CPU核心 + memory: 1.5G # 最多1.5GB内存 + # 资源保障 + reservations: + cpus: '0.25' # 至少0.25个CPU核心 + memory: 500M # 至少500MB内存 + +# 注意:该配置文件中使用了以下特殊配置: +# 1. network_mode: host - 主机网络模式,容器直接使用主机网络 +# 2. ${VERSION:-latest} - 环境变量替换,支持动态版本控制 +# 3. deploy.resources - Docker Swarm模式的资源管理,在单机模式下也有部分效果 +# 4. 多目录挂载 - 实现数据持久化和主机-容器文件共享 +# 5. 环境变量设置 - 确保应用程序的编码和语言环境正确 + +# 使用说明: +# 1. 部署命令:VERSION=1.2.0 docker-compose up -d +# 2. 查看日志:docker-compose logs -f +# 3. 停止服务:docker-compose down +# 4. 更新服务:VERSION=1.2.1 docker-compose up -d \ No newline at end of file