version: '3' services: #nginx nginx: image: docker.platomix.net:10000/module/nginx:1.23 container_name: nginx privileged: true ports: - "8080:8080" - "9090:9090" - "7070:7070" volumes: - /data/module/nginx/logs:/var/log/nginx - ./nginx/html:/usr/share/nginx/html - ./nginx/proxy_params:/etc/nginx/proxy_params - ./nginx/nginx.conf:/etc/nginx/nginx.conf - ./nginx/conf.d:/etc/nginx/conf.d - ./nginx/cert:/etc/nginx/cert - /data/webapp:/dockerDir networks: - net_webapp #mysql mysql: image: docker.platomix.net:10000/module/mysql:8 container_name: mysql privileged: true #ports: # - "3306:3306" #暴露给宿主机使用的端口,服务连接mysql使用mysql:3306 volumes: - /data/module/mysql/logs:/var/log/mysql - /data/module/mysql/data:/var/lib/mysql - ./mysql/my.cnf:/etc/mysql/my.cnf #自定义my.cnf,主要修改字符集编码为utf8mb4 - ./mysql/sqls:/docker-entrypoint-initdb.d #初始化sql文件放这个目录下,自动执行 environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: Platomix@mysql123 networks: - net_webapp #redis redis: image: docker.platomix.net:10000/module/redis:5.0 container_name: redis #ports: # - "6379:6379" command: redis-server /usr/local/etc/redis/redis.conf #使用配置文件方式 volumes: - /data/module/redis:/data - /data/module/redis/logs:/logs - ./redis/redis.conf:/usr/local/etc/redis/redis.conf networks: - net_webapp #XxlJob模块 gmetry-xxljob: image: docker.platomix.net:10000/platomix/platomix-gmetry-xxljob:${xxljob_version} container_name: xxljob environment: JAVA_OPTS: "-Xms512m -Xmx1g" SPRINGBOOT_PARAMS: "--server.port=6969 --spring.profiles.active=docker --log.path=/dockerDir/logs/xxljob" volumes: - /data/webapp:/dockerDir #ports: # - "6969:6969" networks: - net_webapp #ETL模块 gmetry-etl: image: docker.platomix.net:10000/platomix/platomix-gmetry-etl:${etl_version} container_name: etl environment: JAVA_OPTS: "-Xms512m -Xmx1g" SPRINGBOOT_PARAMS: "--server.port=6363 --spring.profiles.active=docker" volumes: - /data/webapp:/dockerDir #ports: # - "6969:6969" networks: - net_webapp #系统模块 gmetry-system: image: docker.platomix.net:10000/platomix/platomix-gmetry-system:${system_version} container_name: system privileged: true environment: JAVA_OPTS: "-Xms1g -Xmx1g -Xloggc:/dockerDir/logs/system/gc.log" SPRINGBOOT_PARAMS: "--server.port=6161 --spring.profiles.active=docker --blade.license.enabled=false --blade.material.domain=http://localhost/" volumes: - /data/webapp:/dockerDir - /sbin/dmidecode:/sbin/dmidecode - /dev/mem:/dev/mem #ports: # - "6161:6161" networks: - net_webapp #rocketmq rocketmq: image: rocketmqinc/rocketmq:4.4.0 container_name: rocketmq command: sh mqnamesrv autoCreateTopicEnable=true #ports: # - 9876:9876 volumes: #挂载路径,冒号左边为服务器本地路径,冒号右边为容器内部路径 - /data/module/rocketmq/logs:/root/logs - /data/module/rocketmq/store:/root/store environment: MAX_POSSIBLE_HEAP: 100000000 networks: - net_webapp rocketmqBroker: image: rocketmqinc/rocketmq:4.4.0 container_name: rocketmqBroker command: sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf volumes: - /data/module/rocketmq/broker/logs:/root/logs - /data/module/rocketmq/broker/store:/root/store - ./rocketmq/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf environment: NAMESRV_ADDR: rocketmq:9876 MAX_POSSIBLE_HEAP: 200000000 #ports: # - 10911:10911 # - 10909:10909 networks: - net_webapp #API网关后端模块 api-gateway: image: docker.platomix.net:10000/platomix/platomix-api-gateway:${api_gateway_version} container_name: apigw volumes: - /data/webapp:/dockerDir environment: SPRINGBOOT_PARAMS: "--spring.profiles.active=docker --api.domain=http://10.10.15.26:9090/cgi/" #ports: # - 8888:8081 networks: - net_webapp #API-CGI api-cgi: image: docker.platomix.net:10000/platomix/platomix-api-cgi:${api_cgi_version} container_name: apicgi #ports: # - 8080:8080 volumes: - /data/webapp:/dockerDir networks: - net_webapp #API-Client api-client: image: docker.platomix.net:10000/platomix/platomix-api-client:${api_client_version} container_name: apiclient volumes: - /data/webapp:/dockerDir networks: - net_webapp networks: net_webapp: external: true