Swarm+Docker+Portainer(集群,图形化)
Posted withfeel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swarm+Docker+Portainer(集群,图形化)相关的知识,希望对你有一定的参考价值。
参考文章
https://blog.csdn.net/u011781521/article/details/80469804
https://blog.csdn.net/u011781521/article/details/80468985
1,基础环境
Docker版本18.03.1-ce
操作系统centos 7.6
swarm版本:docker官方版
关闭selinux,关闭防火墙配置IP地址和主机名
IP主机名对应关系,请修改hosts文件和hostname
192.168.197.30 node1
192.168.197.31 node2
如何安装docker,使用阿里云的镜像加速本文不在叙述,详细请查阅博客docker分类下的文章或者上述的连接
2,修改Docker启动参数
修改docker的启动参数(两个节点均操作)
vi /lib/systemd/system/docker.service
加入以下参数
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
如图
3,创建Swarm集群
Pull swarm的镜像(两个节点都做)
docker pull swarm
在node1上创建集群,如下命令
docker swarm init --advertise-addr 192.168.197.30
上面命令执行后,该机器自动加入到swarm集群。这个会创建一个集群token,获取全球唯一的 token,作为集群唯一标识。后续将其他节点加入集群都会用到这个token值。
其中,--advertise-addr参数表示其它swarm中的worker节点使用此ip地址与manager联系。命令的输出包含了其它节点如何加入集群的命令。
如果根据提示,在node2上使用docker swarm join --token SWMTKN-1-1br84t8xxtu3h42v7qhcjqbvvk8ix12l7rfh20nwo3ytzm3vok-dagq05je4rnvmcuhe5id251mq 192.168.197.30:2377命令加入集群
docker swarm join --token SWMTKN-1-1br84t8xxtu3h42v7qhcjqbvvk8ix12l7rfh20nwo3ytzm3vok-dagq05je4rnvmcuhe5id251mq 192.168.197.30:2377
查看集群节点状态,使用以下命令
docker node list
4,安装和配置Portainer图形化界面(仅节点1操作)
搜索protainer镜像和下载镜像
docker search portainer
下载镜像
docker pull portainer/portainer
单机版运行portainer
如果仅有一个docker宿主机,则可使用单机版运行,运行以下命令就可以启动了:
docker run -d -p 9000:9000
--restart=always
-v /var/run/docker.sock:/var/run/docker.sock
--name prtainer-test
portainer/portainer
该语句用宿主机9000端口关联容器中的9000端口,并给容器起名为portainer-test。启动成功后,使用该机器IP:PORT即可访问Portainer。
首次登陆需要注册用户,给admin用户设置密码:
单机版这里选择local即可
集群版运行
在有多台Docker的情况下,进行集群管理就十分重要了,Portainer也支持集群管理,Portainer可以和Swarm一起来进行集群管理操作,Swarm搭建参考上文。
通过以下命令启动
docker run -d -p 9000:9000 --restart=always --name prtainer-test portainer/portainer
选择remote
登陆后
选择Endpoints,Add endpoints 然后输入节点2的IP地址
输入节点2的IP信息即可
返回Home之后就可用管理各个节点了
以上是关于Swarm+Docker+Portainer(集群,图形化)的主要内容,如果未能解决你的问题,请参考以下文章
Centos7配置Docker Swarm及安装Portainer
DockerDocker swarm集群管理(部署集群创建服务监控服务负载均衡滚动更新Portainer可视化)