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

相关文章
相关标签/搜索