一光年

[Spring-Kafka] docker方式安装kafka

2019.09.05

Step1:下载镜像

首先下载需要的镜像文件

root# docker pull wurstmeister/zookeeper
root# docker pull wurstmeister/kafka

下载完成后验证

root# docker images

Step2:启动容器

启动zookeeper容器

root# docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

启动kafka容器

root# docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=127.0.0.1 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest

启动后验证是否成功

root# docker ps

Step3:进入kafka容器并验证

root# docker exec -it kafka /bin/bash

MacOS下的kafka启动问题

在MacOS环境下,启动kafka的docker时,会发生以下错误:

error while creating mount source path '/etc/localtime': mkdir /etc/localtime

MacOS使用的是虚拟目录/private来挂在linux内核,而在docker设置中即使设置了/private/etc为分享目录仍然解决不了问题。

解决问题的办法有两个:

  1. 参考 StackOverflow的这个回答
  2. 把启动命令中的volume选项去除