ubuntu安装部署Docker可视化工具-集群运行Portainer

环境配置:

1. ubuntu 16.04 三台服务器

2. 三台服务器地址及节点分配:

192.168.1.114: 管理节点

192.168.1.110:工作节点

192.168.1.124:工作节点

 

一、前期准备:

1) 修改主机名:

$ sudo vim /etc/hostname

2) 添加集群主机信息:

$ sudo vim /etc/host

3) Docker-CE 19.03

4) 修改docker.service 配置

        不修改这个,会导致后面添加远程节点失败。

$ sudo vim /lib/systemd/system/docker.service

    ExecStart 行,添加 0.0.0.0:2375

         ExecStart=/usr/bin/dockerd -H fd:// -H 0.0.0.0:2375 --containerd=/run/containerd/containerd.sock

# 重启Docker 生效

$ sudo systemctl daemon-reload

$ sudo systemctl restart docker

 

二、搭建Swarm集群

1)下载swarm镜像:

$ docker pull swarm

2) 初始化Swarm集群

$ docker swarm init --advertise-addr 192.168.1.114

注:每个机器生成的token都不一样,要根据自己机器的生成的命令执行。如果遗失可以通过下面两个命令,分别找回manager、worker的join token

$ sudo docker swarm join-token manager

$ sudo docker swarm join-token worker

 

3) 添加其他节点到集群

根据上面提示,自定义选择添加管理节点,还是工作节点。

这里我在192.168.1.110,和192.168.1.124 上添加了工作节点,即 执行 $ sudo docker swarm join-token worker命令后显示的操作。

 

4) 查看节点状态:

$ docker node ls

 

三、 配置Portainer 容器可视化工具

 

1) 下载portainer镜像

$ docker pull portainer/portainer

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

注:这种启动方式在开机后,无法自启,可采用docker run的方式,如下:

       $ docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /path/on/host/data:/data portainer/portainer

              /path/on/host/data,绑定portainer容器内的参数信息,以便后期数据再利用。

 

3) 添加 Portainer Agent

首先添加 Local Endpoint

4) 部署Portainer Agent

打开App Template,点击Poirtainer Agent

给stack取个名字,然后单击deploy

部署完成后,每个节点会起一个

部署Portainer Agent的另外一个途径是在任意manager节点上,执行

$ curl -L https://downloads.portainer.io/agent-stack.yml -o agent-stack.yml && docker stack deploy --compose-file=agent-stack.yml portainer-agent

 

5) 添加其他节点

这里以添加192.168.1.110的机器为例,Endpoint的名称以ip地址命名,然后就是要填写Endpoint URL,节点的IP地址以及Portainer Agent的端口号,即192.168.56.110:9001

所有Endpoint添加完毕

注:这里的Local也可以删掉后,用Agent来添加

这样就可以使用Portainer统一管理不同机器上的镜像和容器了。

 

参考资料:

 

猜你喜欢

转载自blog.csdn.net/Challovactor/article/details/105087957