第八章 安装 Protainer
8、 搭建 Portainer 可视化界面
8.1 swarm 主节点操作 (192.168.33.21)
8.1.1 下载 portainer 镜像
命令:docker pull portainer/portainer
8.1.2 启动 portainer
命令:

docker service create --name portainer --publish 9000:9000 \
--constraint 'node.role == manager' \
--mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
portainer/portainer -H unix:///var/run/docker.sock

portainer启动容器报500_nginx

8.1.3 查看 docker 进程
命令:docker ps -a

portainer启动容器报500_docker_02

已成功启动!
8.2 浏览 portainer 界面
在浏览器中访问 7http://192.168.33.21:9000,终于可以看到 portainer 界面了。
8.2.1 设置密码
第一次使用需要设置 admin 用户的密码。

portainer启动容器报500_Network_03

我们看一下集群信息,就是第六章里面创建的 dicker swarm 模式集群,

portainer启动容器报500_docker_04

点击“Go to cluster visualizer” ,我们就可以很直观的看到集群的状态已经运行的容器信息

portainer启动容器报500_Network_05

查看 service

portainer启动容器报500_docker_06

点击当前的 service,接下来的界面就是该服务的相信信息

portainer启动容器报500_portainer启动容器报500_07

Portainer 是 Docker swarm 的管理界面,执行的都是 swarm 相关的指令。而swarm 一个重要的内容就是网络相关的信息, 点击上面的“Network &published ports” ,我们就能清楚的了解该服务的网络相关的信息。

portainer启动容器报500_nginx_08

上图中有一个 ID:wjk6z74o29py3gxrot00bpw7n,这是怎么产生的呢?我们看一下 swarm 的网络,在里面可以看见“ingress” ,它就是 swarm 自动为容器创建的一张虚拟网。 如无指定具体网络的情况下,这就是容器的默认网段。

portainer启动容器报500_docker_09

通过“ip 子网掩码计算器” 工具,可以计算这个网段的可用 VIP(虚拟 IP)数量。

portainer启动容器报500_nginx_10

点击“ingress”,是否看到 Portainer?它的 vip:10.255.0.5,就是上面网段的一个 VIP。

portainer启动容器报500_portainer启动容器报500_11

这个网络是 swarm 自行创建的,可以支持创建 65534 个 VIP,一个网络达到这样的量级,那是非常可怕的一件事情。 也就是每台机器的网络信息要在 65534上共享,性能非常差!在生产环境中,一定要创建贴合实际的网络,避免因此而影响集群的性能。
8.3Portainer 体验
8.3.1 创建 nginx 服务
8.3.1.1 查看镜像信息

portainer启动容器报500_docker_12

8.3.1.2 创建自定义网络

portainer启动容器报500_docker_13

我们创建一个“10.254.255.0/16” 的网络,避免与“10.255.0/16” 冲突,之后点击“Create the network”

portainer启动容器报500_Network_14

在主界面的“Network list”中,我们可以看到刚刚创建的网络,但是好像有点问题,“ownership” 不是 public。

portainer启动容器报500_nginx_15

点击“net_nginx” ,可以进行修改。

portainer启动容器报500_Network_16

选择“public” ,点击“update ownership” 即可。

portainer启动容器报500_Network_17

再次刷新“Network list” ,新创建的网络就是我们想要。

portainer启动容器报500_nginx_18

8.3.1.3 部署 nginx 服务
接下来,我们以上面新建的网络来部署 nginx 服务

portainer启动容器报500_docker_19

填写相关的一些参数

portainer启动容器报500_portainer启动容器报500_20

portainer启动容器报500_nginx_21

按照上面的内容填写好之后,点击“Create service” ,稍等片刻之后,在“service” 界面就能看见刚刚创建的服务了。

portainer启动容器报500_docker_22

在浏览器中访问 http://192.168.33.21:8000

portainer启动容器报500_nginx_23

在浏览器中也可以访问 http://192.168.33.22:8000

portainer启动容器报500_nginx_24

查看一下集群的状态,不难发现 2 个容器成功的分布到集群的节点上了。

portainer启动容器报500_Network_25


Portainer 的功能还是非常全面的,赞一个!其他的功能自行尝试吧。