Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
[root@localhost ~]# uname -r
3.10.0-957.5.1.el7.x86_64
yum remove docker docker-common docker-selinux docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
yum install docker-ce
或者安装特定版本
yum install docker-ce-18.06.1.ce
systemctl start docker
systemctl enable docker
docker version
IP地址 | 主机名 | 操作系统 |
---|---|---|
192.168.101.8 | docker-node1 | CentOS Linux release 7.6.1810 (Core) |
192.168.101.7 | docker-node2 | CentOS Linux release 7.6.1810 (Core) |
两台都要修改,这里列出一台主机的命令
hostnamectl set-hostname docker-node1
echo -e "192.168.101.8\tdocker-node1\n192.168.101.7\tdocker-node2" >> /etc/hosts
systemctl stop firewalld
setenforce 0
swarm是通过2375端口进行通信的,在使用swarm集群管理之前,设置好2375端口的监听。需要所有主机节点docker开启2375监听。
修改 /lib/systemd/system/docker.service
文件,将ExecStart一行修改为下面内容。
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
systemctl daemon-reload #重新加载配置文件
systemctl restart docker #重启docker
docker-node1 docker-node2 两台服务器执行如下命令
docker pull swarm
docker-node1 执行
docker swarm init --advertise-addr 192.168.101.8
该命令执行完成后,会自动加入到swarm集群。这个命令会创建一个集群token,作为集群唯一标识。
后续将其他节点加入集群都会用到这个token值。其中,–advertise-addr参数表示其它swarm中的worker节点使用此ip地址与manager联系。命令的输出包含了其它节点如何加入集群的命令。
docker-node2 执行 docker-node1 给出的加入集群的命令
docker swarm join --token SWMTKN-1-903hjkshfds09u1hkjn13k098ugiosdklh2jr-fjlkaoi3ioh31h51o 192.168.101.8:2377
后期如果需要添加节点也使用此命令。
在docker-node1机器上执行
docker node list
porainer 安装参考:https://portainer.readthedocs.io/en/latest/deployment.html
此命令只能在swarm 管理节点上执行,也就是这里的docker-node1
下载yml
curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
执行安装
docker stack deploy --compose-file=portainer-agent-stack.yml portainer
安装完成后 docker-node1 docker-node2 使用docker ps
会看到对应portainer容器的运行,docker-node1 上可以看到portainer 运行在9000端口。直接通过IP:端口进行访问即可进入portainer 页面
访问http://192.168.101.8:9000, 进入如下页面,给admin用户设置密码即可。
登录后页面如下,可以看到primary这个Endpoints,对此进行设置即可。
点击左侧的swarm 可以看到swarm集群中的主机 信息。
至此,安装完成。