千家信息网

docker容器中的三剑客是什么

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,docker容器中的三剑客是swarm、compose和machine,这篇文章将给大家详细介绍swarm、compose和machine的安装和使用。希望大家根据这篇文章可以有所收获。Docker
千家信息网最后更新 2026年11月02日docker容器中的三剑客是什么

docker容器中的三剑客是swarm、compose和machine,这篇文章将给大家详细介绍swarm、compose和machine的安装和使用。希望大家根据这篇文章可以有所收获。

Docker swarm集群三剑客之一
Docker docker2 docker3
192.168.1.1 192.168.1.20 192.168.1.30

关闭防火墙,与selinux。3台dockerhost添加dns域名解析区别主机名。
Bash 或重启

[root@docker ~]# ping docker2
Ping域名是否可以通。(时间同步)

Docker版本必须是:v1.12版本开始。

实验:

1) 描述docker swarm的各节点的特性,总结swarm、node、manager node 、 worker node 和service的概念。

Swarm:作用运行docker engin(引擎)的多个主机组成的集群。
Node:每一个docker engin都是一个node(节点),分为manager和worker。

Manager node:负责执行容器的编排和集群的管理工作,保持并维护swarm处于期望的状态。Swarm可以有多个manager node,他们会自动协调并选举一个leader执行编排任务。但相反,不能没有manager node。

Worker node:接收并执行有manager node 派发的任务,并且默认manager node也是一个work node,不过可以将他设置为manager-only node。让它只负责编排和管理工作。

Service:用来定义worker上执行的命令。

可以没有worker node 但不能没有Manager node

2)部署一个swarm集群,要求3台dockerhost,docker01为manager node,02和03为worker node.

1》初始化集群
[root@docker ~]# docker swarm init --advertise-addr 192.168.1.10
//--advertise-addr:指定与其他node通信的地址。
保存令牌(令牌只能保存24小时)

上边返回的结果告诉我们:初始化成功,并且如果想要添加work节点运行下面的命令:
docker swarm join --token SWMTKN-1-0blimv9lspg990gyt0l9knlpvcxx6xioyqh7p6mxkuxvckui9t-149nryrras3u9vr52n0nc14ui 192.168.1.1:2377
注意:token只有24小时的有效期。
如果想要添加manager节点:运行下边命令
docker swarm join-toker manager

当其他两个节点加入成功,我们可以指定docker node ls 查看节点详情。
查看节点信息
[root@docker ~]# docker node ls

这个星代表所在的终端:

申请离开集群:(docker2,docker3)
[root@docker2 ~]# docker swarm leave :(申请离开一个集群之后查看节点状态会变成down,然后可以通过manager node将其删除)
Node left the swarm.
[root@docker3 ~]# docker swarm leave
Node left the swarm.

删除某节点
[root@docker ~]# docker node rm docker2
docker2
[root@docker ~]# docker node rm docker3
docker3

3)将02和03提升为manager node,然后再将02和03恢复到worker node。 如果此时将01降级为worker node,问是否可以。(不可以)

生成令牌:可以是manager身份或worker身份
[root@docker ~]# docker swarm join-token manager |worker
To add a manager to this swarm, run the following command:

docker swarm join --token SWMTKN-1-0blimv9lspg990gyt0l9knlpvcxx6xioyqh7p6mxkuxvckui9t-e7en15s0hzdibnuj1dnp0hwd4 192.168.1.1:2377

docker node demote :降职:将swarm节点的manager降级为worker
docker node promote :升职:将swarm节点的worker升级为manager
4)部署一个servcie服务,要求使用httpd镜像,名称为test.要求8个副本数量。并且swarm集群要求:manager 节点不参加工作

2部署docker swarm集群网络
Overlay :覆盖型网络:
[root@docker ~]# docker network create -d overlay --attachable docker
mjzqlj8edarzxkiqayr0e5ib9

//attachable:这个参数必须添加,否则不能用于容器。
在创建网络的时候,我们并没有部署一个存储服务,比如consul,那是因为docker swarm自带存储。

3》部署一个图形化web UI界面。
以容器的方式去运行
导入镜像包: myvisualizer.tar
[root@docker ~]# docker load < myvisualizer.tar

docker run -d -p 8080:8080 -e HOST=192.168.1.1 -e PORT=8080 -v /var/run/docker.sock:/var/run/docker.sock --name visualizer dockersamples/visualizer:latest

然后通过浏览器fangwen验证
如果访问不到,需开启路由转发

[root@docker ~]# echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf [root@docker ~]# sysctl -pnet.ipv4.ip_forward = 1

4》创建service(服务)
导入nginx.tar镜像包
[root@docker ~]# docker load < nginx.tar

[root@docker ~]# docker service create --replicas 1 --network docker --name web2 -p 80 nginx:latest
[root@docker ~]# docker service ps web2

//--replicas:副本数量。
大概可以理解为:一个副本等同一个容器
//查看service:
docker service ls
//查看service信息:
docker service ps XXX
创建5个副本(容器)
[root@docker ~]# docker service create --replicas 5 --network docker --name web -p 80 nginx:latest
删除副本
[root@docker ~]# docker service rm web1

就算本地有镜像,也会上网查找最新的nginx镜像。
[root@docker ~]# docker service scale web=8
Scale:扩容

("active"|"pause"|"drain")活动/暂停/不参加
//设置manager node不参加
[root@docker ~]# docker node update docker --availability drain

5》搭建私有仓库。
之前的文章有,这里就不多说了:
6》自定义镜像
要求:基于httpd镜像,更改主访问界面内容。镜像tag版本为v1。

[root@docker ~]# mkdir  {v1,v2,v3}[root@docker v1]# vim index.html[root@docker v1]# vim DockerfileFROM httpdADD index.html /usr/local/apache2/htdocs/index.html[root@docker v1]# docker build  -t 192.168.1.1:5000/httpd:v1 .[root@docker v1]# docker push 192.168.1.1:5000/httpd:v1 **v2**[root@docker v1]# cd ../v2[root@docker v2]# ls[root@docker v2]# echo 22222 > index.html[root@docker v2]# cat > Dockerfile << EOF> FROM  httpd> ADD index.html /usr/local/apache2/htdocs/index.html> EOF[root@docker v2]# docker build -t 192.168.1.1:5000/httpd:v2 .**v3**[root@docker v3]# echo 33333333 >index.html[root@docker v3]# cat > Dockerfile << EOF> FROM  httpd> ADD index.html /usr/local/apache2/htdocs/index.html> EOF[root@docker v3]# docker build -t 192.168.1.1:5000/httpd:v3 .Sending build context to Docker daemon  3.072kBStep 1/2 : FROM  httpd ---> ff0f8d389b3aStep 2/2 : ADD index.html /usr/local/apache2/htdocs/index.html ---> 0bdecd412589Successfully built 0bdecd412589Successfully tagged 192.168.1.1:5000/httpd:v3

7.发布一个服务,基于上述镜像

要求:副本数量为3个。服务的名称为bdqn
[root@docker ~]# docker service create --replicas 3 --name bdqn -p 80:80 192.168.1.1:5000/httpd:v1
默认的ingress网络,包括创建的自定义网络,为后端真正为用户提供服务的container,提供了一个统一的入口。

docker service create --replicas 3 --name test -p 80 192.168.1.1:5000/httpd:v1

***服务的扩容与缩容(scale)
30000-32767
[root@docker ~]# docker service scale bdqn=6
扩容与缩容可以直接通过scale进行设置副本数量
服务的升级与回滚
[root@docker ~]# docker service update --image 192.168.1.1:5000/httpd:v2 bdqn
//平滑的更新
[root@docker ~]# docker service update --image 192.168.1.1:5000/httpd:v3 --update-parallelism 2 --update-delay 1m bdqn

PS:默认情况下,swarm,一次只更新一个副本,并且两个副本之间没有等待时间,我们可以通过,
--update-parallelism 2:设置并进行更新的副本数量
--update-delay :指定滚动更新的时间间隔
docker service rollback bdqn
回滚:操做。
Ps:注意:docker swarm的回滚操做,默认只能回滚到上一次操做的状态,并不能连续回滚操做。*

看完上述内容,你们对docker容器中的三剑客有进一步的了解吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读。

节点 副本 镜像 集群 服务 容器 数量 网络 更新 运行 三剑客 令牌 内容 命令 时间 版本 状态 工作 成功 两个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 美国互联网保险保险科技 互联网科技会 盈实互联网科技 互联网金融科技创新 广州善班互联网科技 上海亿帐通互联网科技 哈尔滨新华互联网科技学院 互联网科技与管理 昊天互联网科技有限公司 中国航天科技大学国际工业互联网 广州市恰铎互联网科技有限公司 链环科技传统企业怎么转型互联网 电子科技大学互联网创业大赛 天津腾达互联网科技有限公司 区块链结合互联网科技 雨阳互联网卡科技有限公司 山东大美朱楼互联网科技有限公司 九思连强互联网电子科技有限公司 米泉互联网科技专业怎么样 广州淘业互联网络科技 互联网科技社 腾讯阿里互联网科技 华中科技大学互联网 奇士达互联网科技 顺玮阁互联网科技 互联网教育科技公司vipkid 湖南诚度互联网科技有限公司 新兴科技互联网创新大赛颁奖典礼 广州百诚互联网科技有限公司官网
0