{"id":287,"date":"2026-01-26T02:44:17","date_gmt":"2026-01-26T02:44:17","guid":{"rendered":"https:\/\/blog.gpst.net.cn:4008\/?p=287"},"modified":"2026-01-28T06:24:14","modified_gmt":"2026-01-28T06:24:14","slug":"zookeeper%e5%92%8ckafka%e9%9b%86%e7%be%a4%e6%90%ad%e5%bb%ba","status":"publish","type":"post","link":"https:\/\/opshub.com.cn\/?p=287","title":{"rendered":"zookeeper\u548ckafka\u96c6\u7fa4\u642d\u5efa"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>services:\n  portainer:\n    image: portainer\/portainer\n    restart: always\n    hostname: portainer\n    container_name: portainer\n    privileged: true\n    ports:\n      - \"10018:9000\"\n    command: -H unix:\/\/\/var\/run\/docker.sock\n    volumes:\n      - \/var\/run\/docker.sock:\/var\/run\/docker.sock\n      - .\/portainer\/data:\/data\n\n\n\n\n  zk1:\n    image: zookeeper:3.7.2\n    restart: always\n    hostname: zk1\n    container_name: zk1\n    privileged: true\n    ports:\n      - \"2181:2181\"\n    volumes:\n      - .\/zk1\/data:\/data\n      - .\/zk1\/datalog:\/datalog\n      - .\/zk1\/conf:\/conf\n      - \/etc\/timezone:\/etc\/timezone\n      - \/etc\/localtime:\/etc\/localtime\n    environment:\n      ZOO_MY_ID: 1\n      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=zk3:2888:3888;2181\n    networks:\n      net_xc:\n        ipv4_address: 172.23.0.11\n     \n  zk2:\n    image: zookeeper:3.7.2\n    restart: always\n    hostname: zk2\n    container_name: zk2\n    privileged: true\n    ports:\n      - \"2182:2181\"\n    volumes:\n      - .\/zk2\/data:\/data\n      - .\/zk2\/datalog:\/datalog    \n      - .\/zk2\/conf:\/conf\n      - \/etc\/timezone:\/etc\/timezone\n      - \/etc\/localtime:\/etc\/localtime\n    environment:\n      ZOO_MY_ID: 2\n      ZOO_SERVERS: server.1=zk1:2888:3888;2181 server.2=0.0.0.0:2888:3888;2181 server.3=zk3:2888:3888;2181\n    networks:\n      net_xc:\n        ipv4_address: 172.23.0.12    \n     \n  zk3:\n    image: zookeeper:3.7.2\n    restart: always\n    hostname: zk3\n    container_name: zk3\n    privileged: true\n    ports:\n      - \"2183:2181\"\n    volumes:\n      - .\/zk3\/data:\/data\n      - .\/zk3\/datalog:\/datalog    \n      - .\/zk3\/conf:\/conf\n      - \/etc\/timezone:\/etc\/timezone\n      - \/etc\/localtime:\/etc\/localtime\n    environment:\n      ZOO_MY_ID: 3\n      ZOO_SERVERS: server.1=zk1:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=0.0.0.0:2888:3888;2181\n    networks:\n      net_xc:\n        ipv4_address: 172.23.0.13    \n\n\n\n\n  kafka1:\n    image: wurstmeister\/kafka\n    restart: always\n    container_name: kafka1\n    hostname: kafka1\n    privileged: true\n    ports:\n      - \"9092:9092\"\n    environment:\n      KAFKA_ADVERTISED_HOST_NAME: kafka1\n      KAFKA_LISTENERS: PLAINTEXT:\/\/0.0.0.0:9092\n      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT:\/\/192.168.3.14:9092\n      KAFKA_ADVERTISED_PORT: 9092\n      KAFKA_ZOOKEEPER_CONNECT: 192.168.3.14:2181,192.168.3.14:2182,192.168.3.14:2183\n      KAFKA_BROKER_ID: 1\n      KAFKA_OFFSSETS_TOPIC_REPLICATION_FACTOR: 1\n    volumes:\n      - .\/kafka1:\/kafka\n      - \/etc\/timezone:\/etc\/timezone\n      - \/etc\/localtime:\/etc\/localtime\n    networks:\n      net_xc:\n        ipv4_address: 172.23.0.1\n    depends_on:\n      - \"zk1\"\n      - \"zk2\"\n      - \"zk3\"\n   \n  kafka2:\n    image: wurstmeister\/kafka\n    restart: always\n    container_name: kafka2\n    hostname: kafka2\n    privileged: true\n    ports:\n      - \"9093:9092\"\n    environment:\n      KAFKA_ADVERTISED_HOST_NAME: kafka2\n      KAFKA_LISTENERS: PLAINTEXT:\/\/0.0.0.0:9092\n      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT:\/\/192.168.3.14:9093\n      KAFKA_ADVERTISED_PORT: 9093\n      KAFKA_ZOOKEEPER_CONNECT: 192.168.3.14:2181,192.168.3.14:2182,192.168.3.14:2183\n      KAFKA_BROKER_ID: 2\n      KAFKA_OFFSSETS_TOPIC_REPLICATION_FACTOR: 1\n    volumes:\n      - .\/kafka2:\/kafka\n      - \/etc\/timezone:\/etc\/timezone\n      - \/etc\/localtime:\/etc\/localtime\n    networks:\n      net_xc:\n        ipv4_address: 172.23.0.2\n    depends_on:\n      - \"zk1\"\n      - \"zk2\"\n      - \"zk3\"\n   \n  kafka3:\n    image: wurstmeister\/kafka\n    restart: always\n    container_name: kafka3\n    hostname: kafka3\n    privileged: true\n    ports:\n      - \"9094:9092\"\n    environment:\n      KAFKA_ADVERTISED_HOST_NAME: kafka3\n      KAFKA_LISTENERS: PLAINTEXT:\/\/0.0.0.0:9092\n      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT:\/\/192.168.3.14:9094\n      KAFKA_ADVERTISED_PORT: 9094\n      KAFKA_ZOOKEEPER_CONNECT: 192.168.3.14:2181,192.168.3.14:2182,192.168.3.14:2183\n      KAFKA_BROKER_ID: 3\n      KAFKA_OFFSSETS_TOPIC_REPLICATION_FACTOR: 1\n    volumes:\n      - .\/kafka3:\/kafka\n      - \/etc\/timezone:\/etc\/timezone\n      - \/etc\/localtime:\/etc\/localtime\n    networks:\n      net_xc:\n        ipv4_address: 172.23.0.3\n    depends_on:\n      - \"zk1\"\n      - \"zk2\"\n      - \"zk3\"\n\n\n\n\n  rabbitmq:\n    image: rabbitmq:3.8-management\n    container_name: rabbitmq\n    ports:\n      - \"5672:5672\"\n      - \"15672:15672\"\n    networks:\n      net_xc:\n        ipv4_address: 172.23.0.7\n\n\n\n\n  mysql:\n    image: mysql:8.1.0\n    container_name: mysql\n    ports:\n      - \"3306:3306\"\n    volumes:\n      - .\/mysql\/db:\/var\/lib\/mysql\n      - .\/mysql\/etc\/my.cnf:\/etc\/my.cnf\n      - \/etc\/timezone:\/etc\/timezone:ro\n      - \/etc\/localtime:\/etc\/localtime:ro\n    environment:\n      - MYSQL_ROOT_PASSWORD=D*179$9rU6uueqw32#\n      - TZ=Asia\/Shanghai\n    restart: unless-stopped\n    privileged: true\n    networks:\n      net_xc:\n        ipv4_address: 172.23.0.8\n  redis:\n    image: redis:7.2.4\n    container_name: redis\n    ports:\n      - \"6379:6379\"\n    volumes:\n      - .\/redis\/data:\/data\n      - .\/redis\/etc\/redis.conf:\/etc\/redis\/redis.conf\n    restart: unless-stopped\n    command: &#091;\"redis-server\", \"\/etc\/redis\/redis.conf\"]\n    networks:\n      net_xc:\n        ipv4_address: 172.23.0.9\n\n\n\n\n  nacos:\n    image: nacos\/nacos-server:v2.2.0\n    container_name: nacos\n    restart: unless-stopped\n    volumes:\n      - \".\/nacos\/logs:\/home\/nacos\/logs\"\n    environment:\n      - PREFER_HOST_MODE=hostname\n      - MODE=standalone\n      - SPRING_DATASOURCE_PLATFORM=mysql\n      - MYSQL_SERVICE_HOST=172.23.0.8\n      - MYSQL_SERVICE_DB_NAME=nacos_config\n      - MYSQL_SERVICE_PORT=3306\n      - MYSQL_SERVICE_USER=root\n      - MYSQL_SERVICE_PASSWORD=D*179$9rU6uueqw32#\n      - MYSQL_SERVICE_DB_PARAM=allowPublicKeyRetrieval=true\n      - JVM_XMS=1024m\n      - JVM_XMX=1024m\n      - JVM_XMN=512m\n      - JVM_MS=128m\n      - JVM_MMS=320m\n    ports:\n      - \"8848:8848\"\n      - \"9848:9848\"\n      - \"9849:9849\"\n      - \"7848:7848\"\n    mem_limit: 2048m\n    networks:\n      net_xc:\n        ipv4_address: 172.23.0.10\n    depends_on:\n      - mysql\n\n\n\n\nnetworks:\n  net_xc:\n    driver: bridge\n    ipam:\n      driver: default\n      config:\n        - subnet: 172.23.0.0\/25\n          gateway: 172.23.0.20<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-287","post","type-post","status-publish","format-standard","hentry","category-dockerkubernetes"],"_links":{"self":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=287"}],"version-history":[{"count":2,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/287\/revisions"}],"predecessor-version":[{"id":631,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/287\/revisions\/631"}],"wp:attachment":[{"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opshub.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}