最近使用zookeeper做服务发现,记录一下docker中zookeeper的简单使用。
1、拉取镜像
直接使用命令docker pull zookeeper
然后使用命令docker images
查看拉取下来的镜像
2、启动镜像,映射端口
因为在docker中运行,我们使用命令限制它的内存大小,并映射端口2181到本地
docker run --name myZookeeper --restart always -e JVMFLAGS="-Xmx1024m" -p 2181:2181 zookeeper
查看容器docker ps
可以看到我们的zookeeper已经正常的运行起来了
3、进入zookeeper容器内
使用命令docker exec -it 6b110cc83db9 /bin/bash
进入到容器内
进入到bin目录下,连接zkClinet.sh
此时我们已经进入到了zookeeper
4、查看使用springcloud注册的服务
(1)使用spring initlizer编写一个简单的springcloud的java项目,引入zookeeper的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
</dependency>
(2)启动处启用服务发现@EnableDiscoveryClient
(3)然后配置文件连接到zookeeper,配置文件如下
# 应用名称
spring.application.name=cloud-provider-payment
# 应用服务 WEB 访问端口
server.port=8071
# spring 静态资源扫描路径
spring.resources.static_locations=classpath:/static/
spring.cloud.zookeeper.connect-string=localhost:2181
(4)使用ls /查看注册的服务
使用ls /services/服务名/你的服务id 可以看到刚才注册的服务
使用get /services/服务名/你的服务id 可以看到刚才注册的服务的相关信息
结果如下图
小结
通过上面的步骤,我们可以使用docker来运行zookeeper,方便快捷;
并可以在容器内查看注册的服务,并查看服务的相关信息。