docker 安裝zookeeper

1.下拉鏡像:docker

docker pull zookeeperbash

2.運行鏡像:服務器

此處未採起在主機上保存配置文件,則當docker服務重啓,數據文件和配置文件等都會被從新初始化。app

docker run -p 2181:2181 --name myZookeeper --restart always -d zookeeperless

    掛載:    -v /my/own/zoo.cfg:/conf/zoo.cfg /my/own/data:/data /my/own/logs:/logstcp

                    /my/own/zoo.cfg 主機配置文件    /my/own/data 主機數據文件    /my/own/logs 主機日誌文件spa

    --restart always 則會在docker啓動或者zookeeper遇到錯誤時,自動重啓容器。有如下幾個值:.net

標誌 描述
no 不自動重啓容器(默認值)
on-failure 若是容器因爲錯誤而退出,則將其從新啓動,非零退出代碼表示錯誤
unless-stopped 從新啓動容器,除非明確中止容器或者 Docker 被中止或從新啓動
always 只要容器中止了,就從新啓動

docker exec -it myZookeeper bashrest

vi ./conf/zoo.cfg日誌

Time=2000

initLimit=10

syncLimit=5

dataDir=/data

dataLogDir=/logs

clientPort=2181

server.1=127.0.0.1:2888:3888

admin.serverPort=8888

cd /zookeeper-3.4.13/bin/

zkServer.sh restart

    "server.id=host:port:port"標識了不一樣的ZooKeeper服務器的配置。id表示的是不一樣的服務器。每臺機器使用三個端口,分別是 clientPort:2181; port:2888; port:3888。其中2888端口是進行leader選舉的端口,而3888端口則是組成ZooKeeper服務的機器之間的通訊端口。

在/data目錄下,myid保存一個1便可:

vi myid

1

重啓服務:

bin/zkServer.sh restart

ps #查看端口狀況

exit#退出容器

查看容器的信息:

[root@localhost logs]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                          NAMES
6218c7db6792        zookeeper           "/docker-entrypoin..."   45 seconds ago      Up 45 seconds       2181/tcp, 2888/tcp, 3888/tcp   myZookeeper

 

啓動zookeeper:

docker run -p 2181:2181 --name myZookeeper --restart always -d zookeeper

經過客戶端鏈接已運行的zookeeper:

docker run -it --rm --link myZookeeper:zookeeper zookeeper zkCli.sh -server zookeeper

Docker容器中的另外一個應用程序鏈接到Zookeeper:

docker run --name someApp --link myZookeeper:zookeeper -d application-that-uses-zookeeper

相關文章
相關標籤/搜索