在 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 以及容器网络讲清楚的文章。