第八章 安装 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
8.1.3 查看 docker 进程
命令:docker ps -a
已成功启动!
8.2 浏览 portainer 界面
在浏览器中访问 7http://192.168.33.21:9000,终于可以看到 portainer 界面了。
8.2.1 设置密码
第一次使用需要设置 admin 用户的密码。
我们看一下集群信息,就是第六章里面创建的 dicker swarm 模式集群,
点击“Go to cluster visualizer” ,我们就可以很直观的看到集群的状态已经运行的容器信息
查看 service
点击当前的 service,接下来的界面就是该服务的相信信息
Portainer 是 Docker swarm 的管理界面,执行的都是 swarm 相关的指令。而swarm 一个重要的内容就是网络相关的信息, 点击上面的“Network &published ports” ,我们就能清楚的了解该服务的网络相关的信息。
上图中有一个 ID:wjk6z74o29py3gxrot00bpw7n,这是怎么产生的呢?我们看一下 swarm 的网络,在里面可以看见“ingress” ,它就是 swarm 自动为容器创建的一张虚拟网。 如无指定具体网络的情况下,这就是容器的默认网段。
通过“ip 子网掩码计算器” 工具,可以计算这个网段的可用 VIP(虚拟 IP)数量。
点击“ingress”,是否看到 Portainer?它的 vip:10.255.0.5,就是上面网段的一个 VIP。
这个网络是 swarm 自行创建的,可以支持创建 65534 个 VIP,一个网络达到这样的量级,那是非常可怕的一件事情。 也就是每台机器的网络信息要在 65534上共享,性能非常差!在生产环境中,一定要创建贴合实际的网络,避免因此而影响集群的性能。
8.3Portainer 体验
8.3.1 创建 nginx 服务
8.3.1.1 查看镜像信息
8.3.1.2 创建自定义网络
我们创建一个“10.254.255.0/16” 的网络,避免与“10.255.0/16” 冲突,之后点击“Create the network”
在主界面的“Network list”中,我们可以看到刚刚创建的网络,但是好像有点问题,“ownership” 不是 public。
点击“net_nginx” ,可以进行修改。
选择“public” ,点击“update ownership” 即可。
再次刷新“Network list” ,新创建的网络就是我们想要。
8.3.1.3 部署 nginx 服务
接下来,我们以上面新建的网络来部署 nginx 服务
填写相关的一些参数
按照上面的内容填写好之后,点击“Create service” ,稍等片刻之后,在“service” 界面就能看见刚刚创建的服务了。
在浏览器中访问 http://192.168.33.21:8000
在浏览器中也可以访问 http://192.168.33.22:8000
查看一下集群的状态,不难发现 2 个容器成功的分布到集群的节点上了。
Portainer 的功能还是非常全面的,赞一个!其他的功能自行尝试吧。