安装doker
# 查看本地镜像
[root@localhost space]# docker images
# 检索ZK镜像
[root@localhost space]# docker search zookeeper
# 拉取ZK镜像
[root@localhost space]# docker pull zookeeper
配置zk环境
# 创建目录
[root@localhost space]# mkdir -p /data/zk/data
[root@localhost space]# mkdir -p /data/zk/conf
[root@localhost space]# mkdir -p /data/zk/logs
# 进入配置目录,添加配置文件zoo.cfg
[root@localhost space]# cd /data/zk/conf/
[root@localhost conf]# cat zoo.cfg
dataDir=/data
clientPort=2181
dataLogDir=/datalog
tickTime=2000
initLimit=5
syncLimit=2
server.1=localhost:2888:3888
运行容器
# 运行容器
[root@localhost space]# docker run -d --name zookeeper -p 2181:2181 -v /data/zk/data:/data -v /data/zk/conf:/conf -v /data/zk/logs:/datalog zookeeper
查看容器内zk
# 进入容器shell
[root@localhost space]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ce35d17b34af zookeeper:3.5.7 "/docker-entrypoint.…" 3 minutes ago Up 3 minutes 2888/tcp, 3888/tcp, 8080/tcp, 0.0.0.0:2281->2181/tcp, :::2281->2181/tcp clever_euler
[root@localhost space]# docker exec -it ce35d17b34af bash
root@ce35d17b34af:/apache-zookeeper-3.5.7-bin# ls
LICENSE.txt NOTICE.txt README.md README_packaging.txt bin conf docs lib
root@ce35d17b34af:/apache-zookeeper-3.5.7-bin# cd bin/
root@ce35d17b34af:/apache-zookeeper-3.5.7-bin/bin# ls
README.txt zkCleanup.sh zkCli.cmd zkCli.sh zkEnv.cmd zkEnv.sh zkServer-initialize.sh zkServer.cmd zkServer.sh zkTxnLogToolkit.cmd zkTxnLogToolkit.sh
root@ce35d17b34af:/apache-zookeeper-3.5.7-bin/bin# zkCli.sh
Connecting to localhost:2181
log4j:WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Welcome to ZooKeeper!
JLine support is enabled
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 1] ls /
[a, zookeeper]
[zk: localhost:2181(CONNECTED) 2] ls /a
[344ew, fd, foo]
[zk: localhost:2181(CONNECTED) 3] ls /a/
344ew fd foo
[zk: localhost:2181(CONNECTED) 3] ls /a/f
fd foo
[zk: localhost:2181(CONNECTED) 3] ls /a/fd
[]
[zk: localhost:2181(CONNECTED) 4] ls /a/foo
[]
[zk: localhost:2181(CONNECTED) 7] create /b
Created /b
[zk: localhost:2181(CONNECTED) 8] create /b/c
Created /b/c
5. 其他
zk内部分节点数据通过其他方式添加了,所以展示时,里面会显示一些初始数据
配合zkui,可视化展示此zk内容
![](https://img-blog.csdnimg.cn/img_convert/5f6f1c8d6b134ae3aa8f63d530eaaf3d.png)