version: '3' networks: network: ipam: driver: default config: - subnet: '177.2.0.0/16' # 设置mysql,redis持久化保存 volumes: mysql: redis: mongodb: services: # 1、php项目 php74: container_name: php74 image: registry.cn-hangzhou.aliyuncs.com/minong/php-7-4-3:v4 restart: always ports: - '9010:9000' volumes: - ${PHP_DIR}:/var/www/html depends_on: - mysql - redis - mongodb links: - mysql - redis - mongodb networks: network: ipv4_address: 177.2.0.16 # 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 - ${PHP_DIR}:/var/www/html depends_on: - mysql - redis - mongodb links: - mysql - redis - mongodb networks: network: ipv4_address: 177.2.0.15 cloud-sync-server: container_name: cloud-sync-server # image: registry.cn-hangzhou.aliyuncs.com/minong/edgeframe-server-service:v11 image: registry.cn-hangzhou.aliyuncs.com/minong/sync-server-edge:v10 restart: always ports: - '18887:8888' environment: MOD: cloud depends_on: - mysql - redis links: - mysql - redis networks: network: ipv4_address: 177.2.0.23 sync-server-web: image: node:16 container_name: gva-web hostname: gva-web #可以通过容器名访问 restart: always ports: - '8080:8080' depends_on: - server working_dir: /web # 如果docker 设置了workdir 则此处不需要设置 #若网络不太好,请自行换源,如下 #command: bash -c "yarn config set registry https://registry.npm.taobao.org --global && yarn install && yarn serve" command: bash -c "yarn install && yarn serve" volumes: - ../../web:/web networks: network: ipv4_address: 177.7.0.11 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: 'edgedb' # 初始化启动时要创建的数据库的名称 MYSQL_USER: 'edgedb' MYSQL_PASSWORD: 'edgedb' 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: 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 redisCloud: image: redis:6.0.6 container_name: gva-redis-cloud # 容器名 hostname: gva-redis restart: always ports: - '16378:6379' volumes: - redis:/data networks: network: ipv4_address: 177.2.0.17 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.6 zookeeper: image: 'zookeeper:latest' ports: - '2181:2181' networks: network: ipv4_address: 177.2.0.8 kafka: image: 'confluentinc/cp-kafka:latest' ports: - '9092:9092' - '29092:29092' environment: KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 # KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 # KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 # KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://0.0.0.0:9092 # KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT # KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT depends_on: - zookeeper networks: network: ipv4_address: 177.2.0.7