要先安裝docker-compose
Linux安裝docker-compose 參考:https://www.cnblogs.com/pxblog/p/15049362.html
創建docker-compose.yml 文件
version: '2' services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka ports: - "9092:9092" environment: # client 要訪問的 broker 地址 KAFKA_ADVERTISED_HOST_NAME: 服務器IP # 通過端口連接 zookeeper KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 # 每個容器就是一個 broker,設置其對應的 ID KAFKA_BROKER_ID: 0 # 外部網絡只能獲取到容器名稱,在內外網絡隔離情況下 # 通過名稱是無法成功訪問 kafka 的 # 因此需要通過綁定這個監聽器能夠讓外部獲取到的是 IP KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://服務器IP:9092 # kafka 監聽器,告訴外部連接者要通過什么協議訪問指定主機名和端口開放的 Kafka 服務。 KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092 # Kafka默認使用-Xmx1G -Xms1G的JVM內存配置,由於服務器小,調整下啟動配置 # 這個看自己的現狀做調整,如果資源充足,可以不用配置這個 # 設置 kafka 日志位置 KAFKA_LOG_DIRS: "/kafka/logs" # kafka 自動創建 topic,對於生成者與消費者連接的 TOPIC 不存在自動創建 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true' # kafka 開啟刪除 topic,開了自動創建,刪除的也要開,否則刪除后還會自動創建 KAFKA_DELETE_TOPIC_ENABLE: 'true' volumes: - /var/run/docker.sock:/var/run/docker.sock
執行
docker-compose up -d