docker search zookeeper
1.创建本地目录(让容器中的superset挂载本地机的配置文件)
mkdir /opt/docker/zookeeper/data/ -p (见最后这个目录映射的内容)
hub.docker.com 上有不少 ZK 镜像, 不过为了稳定起见, 我们就使用官方的 ZK 镜像吧.
首先执行如下命令:
docker pull zookeeper
当出现如下结果时, 表示镜像已经下载完成了:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 |
|
这个命令会在后台运行一个 zookeeper 容器, 名字是 my_zookeeper, 并且它默认会导出 2181 端口.
接着我们使用:
1 |
|
这个命令查看 ZK 的运行情况, 输出类似如下内容时, 表示 ZK 已经成功启动了:
但是并没有跟宿主机映射成功:
新建容器执行:
docker run -d -p 2181:2181 -v /opt/docker/zookeeper/data/:/data/ --name=zookeeper --privileged zookeeper
然后我在ide中改了zookeeper地址重新连接一下,发现可以了
执行:
docker run -it --rm --link my_zookeeper:zookeeper zookeeper zkCli.sh -server zookeeper
运行命令:
docker run -d -p 2181:2181 -v /opt/docker/zookeeper/data/:/data/ --name=zookeeper --privileged zookeeper
如果对 Docker 有过了解的话, 那么对上面的命令一定不会陌生了.
这个命令的含义是:
启动一个 zookeeper 镜像, 并运行这个镜像内的 zkCli.sh 命令, 命令参数是 "-server zookeeper"
将我们先前启动的名为 my_zookeeper 的容器连接(link) 到我们新建的这个容器上, 并将其主机名命名为 zookeeper
发现不能直接这样执行,应该执行:
docker exec -it 590a923a5fcd /bin/bash 进入docker的zookeeper容器,找到zkCli.sh,执行./zkCli.sh
查看已经注册上了:
因为我是windows的虚拟机装linux,然后linux装容器,这里的地址192.168.56.1是哪里来的呢?
我windows 是 192.168.124.12 无线局域网,linux 192.168.65.113 奇怪怎么是这个地址。
但是我项目打jar包扔到linux后启动,在zookeeper容器的注册便是linux的地址192.168.65.113
zkCli.sh 命令参考:
https://blog.csdn.net/meng984611383/article/details/80492483
查看宿主机创建的目录:/opt/docker/zookeeper/data
参考:
https://www.cnblogs.com/kingkoo/p/8732448.html
https://blog.csdn.net/xiaojin21cen/article/details/85028326
https://blog.csdn.net/jiangyu1013/article/details/80856332