单台服务器docker部署zookeeper集群

一、docker环境安装

1、yum更新
yum update
2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
3、设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
5、安装Docker,命令:yum install docker-ce-版本号,我选的是17.12.1.ce,如下
yum install docker-ce-17.12.1.ce
6、修改docker的存储路径(如果不修改不需要做这一步操作)
vim /usr/lib/systemd/system/docker.service
在里面的EXECStart的后面增加后如下:
ExecStart=/usr/bin/dockerd --graph /home/docker
7、启动Docker,命令:systemctl start docker,然后加入开机启动,如下
systemctl start docker
systemctl enable docker
8、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
9、查看docker info 信息
docker info

docker操作常用命令
docker ps 查看当前正在运行的容器
docker ps -a 查看所有容器的状态
docker start/stop id/name 启动/停止某个容器
docker attach id 进入某个容器(使用exit退出后容器也跟着停止运行)
docker exec -ti id 启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)
docker images 查看本地镜像
docker rm id/name 删除某个容器
docker rmi id/name 删除某个镜像
docker run --name test -ti ubuntu /bin/bash 复制ubuntu容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash
docker build -t soar/centos:7.1 . 通过当前目录下的Dockerfile创建一个名为soar/centos:7.1的镜像
docker run -d -p 2222:22 --name test soar/centos:7.1 以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变

二、docker集群安装

1、docker镜像下载与环境准备

1.1、环境

单台宿主机(192.168.201.77)

1.2、下载安装docker

docker pull zookeeper

1.3、docker网络介绍

在这里插入图片描述Docker有三种网络模式,bridge、host、none,在你创建容器的时候,不指定–network默认是bridge。

bridge:为每一个容器分配IP,并将容器连接到一个docker0虚拟网桥,通过docker0网桥与宿主机通信。也就是说,此模式下,你不能用宿主机的IP+容器映射端口来进行Docker容器之间的通信。
host:容器不会虚拟自己的网卡,配置自己的IP,而是使用宿主机的IP和端口。这样一来,Docker容器之间的通信就可以用宿主机的IP+容器映射端口
none:无网络。

1.4、环境准备

去指定目录下创建对应的文件夹
在这里插入图片描述

2、基于docker安装zookeeper集群

2.1、创建自己的bridge网络,然后创建容器的时候指定ip

[root@localhost zookeeper]# docker network create --driver bridge --subnet=172.18.0.0/16 --gateway=172.18.0.1 zoonet
b22b5e534ac13820f8e108d7b9cecd0a8246d92346b743c41b9e99cbe7dadc9c
[root@localhost zookeeper]# docker network ls
NETWORK ID NAME DRIVER SCOPE
cd3e43b9f9a1 bridge bridge local
f20280fae06a host host local
aa6addbfc561 none null local
b22b5e534ac1 zoonet bridge local
[root@localhost zookeeper]#
[root@localhost zookeeper]# docker network inspect b22b5e534ac1
[
{
“Name”: “zoonet”,
“Id”: “b22b5e534ac13820f8e108d7b9cecd0a8246d92346b743c41b9e99cbe7dadc9c”,
“Created”: “2021-03-09T00:17:16.580102891-08:00”,
“Scope”: “local”,
“Driver”: “bridge”,
“EnableIPv6”: false,
“IPAM”: {
“Driver”: “default”,
“Options”: {},
“Config”: [
{
“Subnet”: “172.18.0.0/16”,
“Gateway”: “172.18.0.1”
}
]
},
“Internal”: false,
“Attachable”: false,
“Ingress”: false,
“ConfigFrom”: {
“Network”: “”
},
“ConfigOnly”: false,
“Containers”: {},
“Options”: {},
“Labels”: {}
}
]

2.2 然后执行命令启动

启动第一个点
docker run --name zook1 -p 2181:2181
–privileged --restart always --network zoonet --ip 172.18.0.2
–volume /docker/data/zookeeper/zook1/data:/data
–volume /docker/data/zookeeper/zook1/datalog:/datalog
–volume /docker/data/zookeeper/zook1/logs:/logs
-e ZOO_MY_ID=1
-e ZOO_SERVERS=“server.1=172.18.0.2:2888:3888;2181 server.2=172.18.0.3:2888:3888;2181 server.3=172.18.0.4:2888:3888;2181”
-d zookeeper

启动第二个点
docker run --name zook2 -p 2182:2181
–privileged --restart always --network zoonet --ip 172.18.0.3
–volume /docker/data/zookeeper/zook2/data:/data
–volume /docker/data/zookeeper/zook2/datalog:/datalog
–volume /docker/data/zookeeper/zook2/logs:/logs
-e ZOO_MY_ID=2
-e ZOO_SERVERS=“server.1=172.18.0.2:2888:3888;2181 server.2=172.18.0.3:2888:3888;2181 server.3=172.18.0.4:2888:3888;2181”
-d zookeeper

启动第三个点
docker run --name zook3 -p 2183:2181
–privileged --restart always --network zoonet --ip 172.18.0.4
–volume /docker/data/zookeeper/zook3/data:/data
–volume /docker/data/zookeeper/zook3/datalog:/datalog
–volume /docker/data/zookeeper/zook3/logs:/logs
-e ZOO_MY_ID=3
-e ZOO_SERVERS=“server.1=172.18.0.2:2888:3888;2181 server.2=172.18.0.3:2888:3888;2181 server.3=172.18.0.4:2888:3888;2181”
-d zookeeper

注意:docker run的启动命令格式为docker run [OPTIONS] IMAGE [COMMAND] [ARG…] 别搞错顺序了,不然一直启动不了

2.3、查看状态
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值