Docker 中安装并配置 Zookeeper
系统为Ubuntu,首先使用
sudo su
或su -
切换到了 root 用户,否则需要在命令前面加上sudo
。
安装 Zookeeper
拉取最新 Zookeeper 镜像:
docker pull zookeeper
如果需要拉取指定版本,在镜像名后面加版本号即可,如:
docker pull zookeeper:3.5.8
启动 Zookeeper 容器
docker run -d --name zookeeper -v /opt/zookeeper/data:/opt/zookeeper/data -p 2181:2181 --restart always zookeeper:3.5.8
启动参数说明:
-d
:后台运行容器,并返回容器 ID--name
:为容器指定一个名称-v
:将容器内的文件夹映射到主机的 /opt/ 文件夹中-p
:指定端口映射 格式为: 主机 port: 容器 port--restart always
:始终重启
如果不加 -p 2181:2181
,启动后会暴露端口:
- 2181:代码访问 Client 的端口;
- 2888:Leader 和 Folwer 通信的端口;
- 3888:选举 Leader 时通信的端口。
查看是否启动成功
docker ps
如果未启动,使用命令
docker ps -a
查看原因,docker logs 容器ID
查看容器启动日志。
查看 Linux 的 IP 地址
ifconfig
如果找不到这个命令,会提示使用
apt install net-tools
安装 net 工具组件。
eth0网卡的 inet 172.20.143.218 为连接地址。
由于每次重启 Windows 该 IP 都会改变,所以建议 配置固定 IP。
使用命令行连接 Zookeeper
docker run -it --rm --link zookeeper:zookeeper zookeeper:3.5.8 zkCli.sh -server zookeeper
参数说明:
--rm
:前台容器退出时自动清理容器内部的文件-i
:以交互模式运行容器,通常与 -t 同时使用-t
:为容器重新分配一个为输入终端,通常与 -i 同时使用--link
: 将名为 zookeeper(冒号前) 的容器连接到我们新建的这个容器上,并将其主机名命名为 zookeeper(冒号后)-server zookeeper
:zkCli.sh
脚本启动命令行客户端的参数