version: '3' networks: network: ipam: driver: default config: - subnet: '177.2.0.0/16' # 设置mysql,redis持久化保存 volumes: mysql: redis: mongodb: services: # 1、php项目 vocs-edge-php: container_name: vocs-edge-php-service image: registry.cn-hangzhou.aliyuncs.com/minong/vocs-edge-php:latest restart: always ports: - '9001:9000' volumes: - /d/web/vocs-edge:/var/www/html - ./vocs-edge-php/runtime:/var/www/html/runtime depends_on: - mysql - redis - mongodb links: - mysql - redis - mongodb networks: network: ipv4_address: 177.2.0.14 # 2、php项目转发 nginx: container_name: nginx-edge image: nginx:latest restart: always ports: - '8000:80' volumes: - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf depends_on: - mysql - redis - mongodb links: - mysql - redis - mongodb networks: network: ipv4_address: 177.2.0.15 # 3、数据上云下载微服务 edgeframe-server: container_name: edgeframe-server-service # image: registry.cn-hangzhou.aliyuncs.com/minong/edgeframe-server-service:latest image: server:v3 restart: always ports: - '8888:8888' environment: - MOD:local volumes: - $PWD/server/config.yaml "/go/src/github.com/flipped-aurora/gin-vue-admin/server/config.yaml" depends_on: - mysql - redis - mongodb links: - mysql - redis - mongodb networks: network: ipv4_address: 177.2.0.12 # 4、边缘节点更新image微服务 edge-upgrade: container_name: edge-upgrade-service image: registry.cn-hangzhou.aliyuncs.com/minong/edge-upgrade-service:latest restart: always environment: CompanyKey: ${CompanyKey} //公司key Broker: kafka:9092 //公司id volumes: - /var/run/docker.sock:/var/run/docker.sock networks: network: ipv4_address: 177.2.0.13 # 5、 mysql mysql: image: mysql:8.0.21 # 如果您是 arm64 架构:如 MacOS 的 M1,请修改镜像为 image: mysql/mysql-server:8.0.21 container_name: gva-mysql command: mysqld --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci #设置utf8字符集 restart: always ports: - "3305:3306" # host物理直接映射端口为13306 environment: MYSQL_ROOT_PASSWORD: 'Aa@6447985' # root管理员用户密码 MYSQL_DATABASE: 'edgbdb' # 初始化启动时要创建的数据库的名称 MYSQL_USER: 'edgbdb' MYSQL_PASSWORD: 'edgbdb' volumes: - mysql:/var/lib/mysql # - /d/go/project/meinong/deploy/edge/mysql:/var/lib/mysql # - /d/go/project/meinong/deploy/edge/mysql/conf:/etc/mysql/conf.d networks: network: ipv4_address: 177.2.0.4 #redis redis: image: redis:6.0.6 container_name: gva-redis # 容器名 restart: always ports: - '16379:6379' volumes: - redis:/data networks: network: ipv4_address: 177.2.0.5 #mongodb mongodb: image: mongo:latest ports: - "27016:27017" volumes: - mongodb:/data/db environment: LANG: C.UTF-8 TZ: "Asia/Shanghai" MONGO_INITDB_ROOT_USERNAME: admin MONGO_INITDB_ROOT_PASSWORD: admin123 networks: network: ipv4_address: 177.2.0.9 zookeeper: image: 'zookeeper:latest' restart: always ports: - '2181:2181' networks: network: ipv4_address: 177.2.0.8 kafka: image: 'confluentinc/cp-kafka:latest' restart: always ports: - '9092:9092' environment: KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 depends_on: - zookeeper networks: network: ipv4_address: 177.2.0.6