最近使用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,方便快捷;
並可以在容器內查看注冊的服務,並查看服務的相關信息。