一、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 安装 zookeeper win 单机_docker

Docker有三种网络模式,bridge、host、none,在你创建容器的时候,不指定–network默认是bridge。

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

1.4、环境准备

去指定目录下创建对应的文件夹

docker 安装 zookeeper win 单机_Docker_02

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、查看状态

docker 安装 zookeeper win 单机_docker_03