🌸 🌸 重点写在前面——注意docker本机地址请使用host.docker.internal
🌸 🌸
- 由于 macOS 的 docker 底层实现的不同,主要原因是 macOS 的 docker 在容器和宿主之间无法通过 ip 直接通信。因此在安装的时候需要特殊注意与 ip 相关的设置,当容器需要访问宿主ip时,需要使用
docker.for.mac.host.internal
或者host.docker.internal
代替。 - 这里向zookeeper注册的时候,使用的是
host.docker.internal
,我们在程序中连接kafka
的时候,直接使用localhost
会报错,如:Error connecting to node host.docker.internal:9092
,其处理方式:- 我们可以在本机的 host 文件中,添加映射,将
127.0.0.1 host.docker.internal
; - 不使用
host.docker.internal
,而是使用自己主机IP,但是当IP发生变化的时候,就要重新配置。
- 我们可以在本机的 host 文件中,添加映射,将
🌸 elasticsearch+kibana 🌸
docker pull elasticsearch:7.16.2
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" -d -p 9200:9200 -p 9300:9300 --name elasticsearch e082d8ac7e5e
docker pull kibana:7.16.2
-
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://host.docker.internal:9200 -p 5601:5601 -d kibana:7.16.2
- 项目测试成功
🌸 zookeeper+kafka 🌸
- 参考地址:https://blog.csdn.net/qq_37958845/article/details/118936339
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
- 启动zookeeper——
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper
- 启动kafka——
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=host.docker.internal:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://host.docker.internal:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka
- 项目测试使用成功
文章来源地址https://www.toymoban.com/news/detail-516098.html
文章来源:https://www.toymoban.com/news/detail-516098.html
到了这里,关于Mac m1 docker安装 elasticsearch+kibana、zookeeper+kafka(不指定ip方式,验证无误)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!