在 Windows 的电脑上安装了 wsl2,发行版是 Ubuntu20.04 ,并在 Windows 上安装了 docker desktop 。 之后尝试在 docker 上部署单机 zookeeper 与 kafka.
docker run -d --name zookeeper -p 2181:2181 -t zookeeper
docker run -d --name kafka -p 9092:9092 --link zookeeper -e KAFKA_ZOOKEEPER_CONNECT=<zookeeper's ip>:2181 -e KAFKA_ADVERTISED_HOST_NAME=wsl2's ip -e KAFKA_ADVERTISED_PORT=9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka
部署 zookeeper 时没有问题,但部署 kafka 时提示
Ports are not available: listen tcp 0.0.0.0:9092: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
之后在 windows 上使用 netstat -aon|findstr '9092'与在 wsl2 上使用 netstat -ap | grep 9092 都没有结果,之后改了端口为 19092 后可以部署了,无论是在 windows 和 wsl2 上也都能查到端口占用。
网络这部分学得一直不好,想知道有没有针对 windows 与 wsl2 以及容器网络讲清楚的文章。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.