1. version: '2'
    2. services:
    3. broker1:
    4. image: wurstmeister/kafka
    5. restart: always
    6. hostname: broker1
    7. container_name: broker1
    8. ports:
    9. - "9091:9091"
    10. external_links:
    11. - zoo1
    12. - zoo2
    13. - zoo3
    14. environment:
    15. KAFKA_BROKER_ID: 1
    16. KAFKA_ADVERTISED_HOST_NAME: broker1
    17. KAFKA_ADVERTISED_PORT: 9091
    18. KAFKA_HOST_NAME: broker1
    19. KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181
    20. KAFKA_LISTENERS: PLAINTEXT://broker1:9091
    21. KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker1:9091
    22. JMX_PORT: 9988
    23. volumes:
    24. - /var/run/docker.sock:/var/run/docker.sock
    25. - "/Users/WuliGit/docker/volume/kafka/broker1/:/kafka"
    26. networks:
    27. default:
    28. ipv4_address: 172.69.0.11
    29. broker2:
    30. image: wurstmeister/kafka
    31. restart: always
    32. hostname: broker2
    33. container_name: broker2
    34. ports:
    35. - "9092:9092"
    36. external_links:
    37. - zoo1
    38. - zoo2
    39. - zoo3
    40. environment:
    41. KAFKA_BROKER_ID: 2
    42. KAFKA_ADVERTISED_HOST_NAME: broker2
    43. KAFKA_ADVERTISED_PORT: 9092
    44. KAFKA_HOST_NAME: broker2
    45. KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181
    46. KAFKA_LISTENERS: PLAINTEXT://broker2:9092
    47. KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker2:9092
    48. JMX_PORT: 9988
    49. volumes:
    50. - /var/run/docker.sock:/var/run/docker.sock
    51. - "/Users/WuliGit/docker/volume/kafka/broker2/:/kafka"
    52. networks:
    53. default:
    54. ipv4_address: 172.69.0.12
    55. broker3:
    56. image: wurstmeister/kafka
    57. restart: always
    58. hostname: broker3
    59. container_name: broker3
    60. ports:
    61. - "9093:9093"
    62. external_links:
    63. - zoo1
    64. - zoo2
    65. - zoo3
    66. environment:
    67. KAFKA_BROKER_ID: 3
    68. KAFKA_ADVERTISED_HOST_NAME: broker3
    69. KAFKA_ADVERTISED_PORT: 9093
    70. KAFKA_HOST_NAME: broker3
    71. KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181
    72. KAFKA_LISTENERS: PLAINTEXT://broker3:9093
    73. KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker3:9093
    74. JMX_PORT: 9988
    75. volumes:
    76. - /var/run/docker.sock:/var/run/docker.sock
    77. - "/Users/WuliGit/docker/volume/kafka/broker3/:/kafka"
    78. networks:
    79. default:
    80. ipv4_address: 172.69.0.13
    81. kafka-manager:
    82. image: sheepkiller/kafka-manager
    83. restart: always
    84. container_name: kafa-manager
    85. hostname: kafka-manager
    86. ports:
    87. - "9002:9000"
    88. links: # 连接本compose文件创建的container
    89. - broker1
    90. - broker2
    91. - broker3
    92. external_links: # 连接本compose文件以外的container
    93. - zoo1
    94. - zoo2
    95. - zoo3
    96. environment:
    97. ZK_HOSTS: zoo1:2181,zoo2:2181,zoo3:2181
    98. KAFKA_BROKERS: broker1:9091,broker2:9092,broker3:9093
    99. APPLICATION_SECRET: letmein
    100. KM_ARGS: -Djava.net.preferIPv4Stack=true
    101. networks:
    102. default:
    103. ipv4_address: 172.69.0.10
    104. networks:
    105. default:
    106. external:
    107. name: kafka_zoo