前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Docker系列】Docker Swarm 集群 (swarm,可视化容器管理工具 Portainer)

【Docker系列】Docker Swarm 集群 (swarm,可视化容器管理工具 Portainer)

作者头像
shutiaoya
发布2022-06-17 12:21:11
6910
发布2022-06-17 12:21:11
举报
文章被收录于专栏:shutiaoya

Swarm

现在有三台 linux服务器。对应的公网Ip和主机名称
代码语言:javascript
复制
56.111.111.100  master
56.111.111.101  slave1
56.111.111.102  slave2
三台 分别需要安装 docker环境

安装docker

如果需要修改主机的名称,那修改 服务器的 主机名,命令:
代码语言:javascript
复制
hostnamectl set-hostname 新的主机名
修改 三台主机的 docker.service 文件
代码语言:javascript
复制
vim /lib/systemd/system/docker.service

# 可通过 find 命令 查找 docker.service 文件
# find / -name docker.service

## 在“ExecStart=/usr/bin/dockerd”后添加“-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock”

# 如下

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock -H fd:// --containerd=/run/containerd/containerd.sock
重启服务
代码语言:javascript
复制
systemctl daemon-reload
systemctl restart docker
在集群中要被选举为manager的docker节点中运行以下命令:
代码语言:javascript
复制
#56.111.111.100   本机ip
docker swarm init --advertise-addr 56.111.111.100
保存 生成的 命令,如下:
代码语言:javascript
复制
docker swarm join --token SWMTKN-1-3oovrzba9wjaf4fe5i3mbdnksmrdb0mjfw206qmxpsbiflmxw5-bcjueneetcbvgdhhtk3awkfno 56.111.111.100:2377
查看 集群节点 (每台服务器上,都需要开放 2375/2377 端口,用于互联)
代码语言:javascript
复制
docker node ls
将其他节点加入集群,复制 第7步生成的 docker swarm join --token………………..
代码语言:javascript
复制
//要加入集群的主机
[root@localhost ~]# docker swarm join --token SWMTKN-1-3oovrzba9wjaf4fe5i3mbdnksmrdb0mjfw206qmxpsbiflmxw5-bcjueneetcbvgdhhtk3awkfno 56.111.111.100:2377
在 msater节点 查看所有节点信息
代码语言:javascript
复制
[root@master /]# docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
x2h88pu8237u0aqbqnmvy3vnc *   master     Ready               Active              Leader              19.03.5
uzwuj9aavrvw6fdcisoiigktm     slave1     Ready               Active                                  19.03.5
pdwlvvud2t08565njvw63ssuv     slave2     Ready               Active                                  19.03.4

可视化容器管理工具 Portainer

  • 选举为manager的服务器中安装
代码语言:javascript
复制
mkdir portainer 

//创建portainer-agent-stack.yml文件
vim portainer-agent-stack.yml  yml文件
代码语言:javascript
复制
version: '3.2'

services:
  agent:
    image: portainer/agent:2.11.1
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/var/lib/docker/volumes
    networks:
      - agent_network
    deploy:
      mode: global
      placement:
        constraints: [node.platform.os == linux]

  portainer:
    image: portainer/portainer-ce:2.11.1
    command: -H tcp://tasks.agent:9001 --tlsskipverify
    ports:
      - "9443:9443"
      - "9000:9000"
      - "8000:8000"
    volumes:
      - portainer_data:/data
    networks:
      - agent_network
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]

networks:
  agent_network:
    driver: overlay
    attachable: true

volumes:
  portainer_data:
代码语言:javascript
复制
##直接创建服务
docker stack deploy -c portainer-agent-stack.yml portainer 

docker stack ls

docker stack ps portainer 
  • 创建成功后进入浏览器测试 ip加yml文件定义的9000端口
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-3-26 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Swarm
    • 现在有三台 linux服务器。对应的公网Ip和主机名称
      • 三台 分别需要安装 docker环境
        • 如果需要修改主机的名称,那修改 服务器的 主机名,命令:
          • 修改 三台主机的 docker.service 文件
            • 重启服务
              • 在集群中要被选举为manager的docker节点中运行以下命令:
                • 保存 生成的 命令,如下:
                  • 查看 集群节点 (每台服务器上,都需要开放 2375/2377 端口,用于互联)
                    • 将其他节点加入集群,复制 第7步生成的 docker swarm join --token………………..
                      • 在 msater节点 查看所有节点信息
                      • 可视化容器管理工具 Portainer
                      相关产品与服务
                      容器镜像服务
                      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档