Docker swarm是集群下docker容器编排工具,本文讲解了安装swarm的步骤和swarm界面管理工具Portainer的安装。
本文使用的操作是CentOS7;三台主机,一台作为管理节点,另外两台作为工作节点。
1.安装swarm
- 编辑三台机器的
/etc/hosts
文件,内容修改为:192.168.1.130 manager.wisely.com manager 192.168.1.131 node1.wisely.com node1 192.168.1.132 node2.wisely.com node2
- 每台机器安装docker,顺序执行下面命令
yum update -y yum install docker systemctl start docker systemctl enable docker
- 每台机器开放下面防火墙端口,顺序执行下面命令:
firewall-cmd --permanent --add-port=2376/tcp firewall-cmd --permanent --add-port=2377/tcp firewall-cmd --permanent --add-port=7946/tcp firewall-cmd --permanent --add-port=7946/udp firewall-cmd --permanent --add-port=4789/udp firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload systemctl restart docker
- 在manager节点初始化集群:
docker swarm init --advertise-addr 192.168.1.130
执行后,得到下面结果:
Swarm initialized: current node (b0389cuqtk1h2v5vhj3a3xurz) is now a manager. To add a worker to this swarm, run the following command: docker swarm join \ --token SWMTKN-1-2xinda2i8kc8is6eob7hhyqyntxal1688ixzep2dqpmkyktnio-4xub9o40ilq326yi6b0hnjx9f \ 192.168.1.130:2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
- 在另外两个工作节点执行:
docker swarm join \ --token SWMTKN-1-2xinda2i8kc8is6eob7hhyqyntxal1688ixzep2dqpmkyktnio-4xub9o40ilq326yi6b0hnjx9f \ 192.168.1.130:2377
输出为:
[root@localhost ~]# docker swarm join \ > --token SWMTKN-1-2xinda2i8kc8is6eob7hhyqyntxal1688ixzep2dqpmkyktnio-4xub9o40ilq326yi6b0hnjx9f \ > 192.168.1.130:2377 This node joined a swarm as a worker.
- 执行
docker node ls
查看集群信息:ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS 0bd7q219yihhkrlbj2prhlmxu node1.wisely.com Ready Active 0qm0up69sjld7rwofso506oml node2.wisely.com Ready Active b0389cuqtk1h2v5vhj3a3xurz * manager.wisely.com Ready Active Leader
- 使用阿里云docker镜像加速,按顺序执行,请去阿里云申请:
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://*.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
- 部署测试,在管理节点执行:
docker service create -p 80:80 --name webserver --replicas 5 httpd
查看集群中的service
docker service ls
:ID NAME REPLICAS IMAGE COMMAND 7wk5kekwkyjd webserver 5/5 httpd
查看集群中的webserver服务
docker service ps webserver
:ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR 5jq6c649y7kfdofhc8t4od7jc webserver.1 httpd node1.wisely.com Running Preparing 38 seconds ago 80ijfnq17p2h8dvipaabq3j4l webserver.2 httpd node1.wisely.com Running Preparing 38 seconds ago 94yrknng8y9e4h9l80ractm2r webserver.3 httpd manager.wisely.com Running Preparing 38 seconds ago 3ctowh4uctuh8q5u7lr930e9p webserver.4 httpd node2.wisely.com Running Preparing 38 seconds ago du0eoe5nn9dpcvqik0z4m2ros webserver.5 httpd node2.wisely.com Running Preparing 38 seconds ago
访问http://192.168.1.130、http://192.168.1.131或http://192.168.1.132,结果为:
2.安装Portainer
-
首先关闭selinux,
setenforce 0
-
在manager节点执行:
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
-
访问http://192.168.1.130:9000
格式正常地址:http://www.wisely.top/2017/05/18/docker-swarm-portainer/
相关推荐
docker swarm 20.10.17 + portainer-ce 2.14.2 + nginx 1.23.1 一条龙离线包
Docker Swarm 模式集群操作API封装和Swarm UI的中间层应用
Docker可视化管理工具 portainer (arm64平台) 版本:2.18.4 包含镜像、docker-compose文件 使用教程: # 解压 tar -xzvf portainer-arm64.tar cd portainer # 导入镜像 docker load -i portainer.arm.2.18.4.tar # ...
Docker可视化管理工具 portainer (x86平台) 版本:2.18.4 包含镜像、docker-compose文件 使用教程: # 解压 tar -xzvf portainer-ce.x86.tar cd portainer # 导入镜像 docker load -i portainer-ce.x86.2.18.4.tar ...
The DevOps 2.1 Toolkit Docker Swarm 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请...
Docker Swarm 管理资源.rar
Portainer是一个轻量级的docker环境管理UI,可以用来管理docker宿主机和docker swarm集群,这篇文章主要介绍了使用portainer连接远程docker的方法,需要的朋友可以参考下
Docker Swarm的一个可视化工具 使用 Docker Remote API, Node.JS, 和D3实现
Docker教程-docker-可视化容器管理工具Portainer.docx
Portainer是一款优秀的Docker图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理...
docker容器化+图形界面portainer+镜像私有仓库registry+docker-registry-ui+以及springboot+vue部署示例,安装文档自己部署了好几次,绝对可执行!!!
Docker简介 Docker 是一个开源的应用容器引擎,让...docker swarm是一个容器编排管理工具,docker-engine在1.12版本之后集成了docker swarm,不需要再单独安装。 docker swarm的功能,举个例子,有3台机器都安装了do
Docker Swarm架构的特性与基本实践.docx
docker UI 、 portainer
之前操作Docker的时候,一直使用的是命令行的形式。命令行虽说看起来挺炫酷,但有时候还是挺麻烦的。...Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。
将功能作为服务(在Docker Swarm之上)
Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、...
该资源来自Dockercon 2014“Docker Swarm”。
docker swarm部署分布式微服务编排文件示例
Docker swarm是一个用于创建Docker主机(运行Docker守护进程的服务器)集群的工具,具备服务发现,负载均衡,任务分发、调度,服务状态一致性保持,滚动更新,安全传输等特性。从docker v1.12开始,docker engine ...