51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Docker Swarm常用命令

Docker Swarm 简介

Docker Swarm 是一个 Dockerized 化的分布式应用程序的本地集群,它是在Machine所提供的功能的基础上优化主机资源的利用率和容错服务。具体来说,Docker Swarm支持用户创建可运行Docker Daemon的主机资源池,然后在资源池中运行Docker容器。Docker Swarm可以管理工作负载并维护集群状态。

除了资源优化,Docker Swarm可以保证应用的高可用性和容错性。Docker Swarm会不断的检查Docker Daemon所在主机的健康状态。当某个主机不可用时,Swarm就会将容器迁移到新的主机上。文章源自小柒网-https://www.yangxingzhen.cn/8017.html

Docker Swarm的亮点之一是它可以在应用的生命周期内扩展,也就是说当应用从一个主机扩展到2个、20个或者200个的时候,用户可以保证接口的一致性。文章源自小柒网-https://www.yangxingzhen.cn/8017.html

同样,和Machine一样,Swarm的架构是可插拔的,系统已经包含一个默认的调度器。其它的厂商可以实现自己的调度器。文章源自小柒网-https://www.yangxingzhen.cn/8017.html

管理配置文件

docker config

查看已创建配置文件

docker config ls

将已有配置文件添加到docker配置文件中

docker config create docker 配置文件名 本地配置文件文章源自小柒网-https://www.yangxingzhen.cn/8017.html

管理swarm节点

docker node

查看集群中的节点

docker node ls

将manager角色降级为worker

docker node demote 主机名

将worker角色升级为manager

docker node promote 主机名

查看节点的详细信息,默认json格式

docker node inspect 主机名

查看节点信息平铺格式

docker node inspect --pretty 主机名

查看运行的一个或多个及节点任务数,默认当前节点

docker node ps

从swarm中删除一个节点

docker node rm 主机名

更新一个节点

docker node update

对节点设置状态("active"正常|"pause"暂停|"drain"排除自身work任务)

docker node update --availability文章源自小柒网-https://www.yangxingzhen.cn/8017.html

管理敏感数据存储

docker secret文章源自小柒网-https://www.yangxingzhen.cn/8017.html

服务栈,栈的形式,一般作为编排使用,格式与docker compose相同。

docker stack

通过.yml文件指令部署

docker stack deploy -c 文件名.yml 编排服务名

查看编排服务

docker stack ls

docker stack 不支持使用参数

build
cgroup_parent
container_name
devices
dns
dns_search
tmpfs
external_links
links
network_mode
security_opt
stop_signal
sysctls
userns_mode文章源自小柒网-https://www.yangxingzhen.cn/8017.html

作为集群的管理

docker swarm

初始化一个swarm

docker swarm init

指定初始化ip地址节点

docker swarm init --advertise-addr 管理端IP地址

去除本地之外的所有管理器身份

docker swarm init --force-new-cluster

将节点加入swarm集群,两种加入模式manager与worker

docker swarm join

工作节点加入管理节点需要通过join-token认证

docker swarm join-token

重新获取docker获取初始化命令

docker swarm join-token worker

离开swarm

docker swarm leave

对swarm集群更新配置

docker swarm update文章源自小柒网-https://www.yangxingzhen.cn/8017.html

服务管理

docker service

创建一个服务

docker service create

创建的副本数

docker service create --replicas 副本数

指定容器名称

docker service create --name 名字

每次容器与容器之间的更新时间间隔。

docker service create --update-delay s秒

更新时同时并行更新数量,默认1

docker service create --update-parallelism 个数

任务容器更新失败时的模式,("pause"停止|"continue"继续),默认pause。

docker service create --update-failure-action 类型

每次容器与容器之间的回滚时间间隔。

docker service create --rollback-monitor 20s

回滚故障率如果小于百分比允许运行

docker service create --rollback-max-failure-ratio .数值(列".2"为%20)

添加网络

docker service create --network 网络名

创建volume类型数据卷

docker service create --mount type=volume,src=volume名称,dst=容器目录

创建bind读写目录挂载

docker service create --mount type=bind,src=宿主目录,dst=容器目录

创建bind只读目录挂载

docker service create --mount type=bind,src=宿主目录,dst=容器目录,readonly

创建dnsrr负载均衡模式

docker service create --endpoint-mode dnsrr 服务名

创建docker配置文件到容器本地目录

docker service create --config source=docker配置文件,target=配置文件路径

创建添加端口

docker service create --publish 暴露端口:容器端口 服务名

查看服务详细信息,默认json格式

docker service inspect

查看服务信息平铺形式

docker service inspect --pretty 服务名

查看服务内输出

docker service logs

列出服务

docker service ls

列出服务任务信息

docker service ps    

查看服务启动信息

docker service ps 服务名

过滤只运行的任务信息

docker service ps -f "desired-state=running" 服务名

删除服务

docker service rm

缩容扩容服务

docker service scale

扩展服务容器副本数量

docker service scale 服务名=副本数

更新服务相关配置

docker service update

容器加入指令

docker service update --args "指令" 服务名

更新服务容器版本

docker service update --image 更新版本 服务名

回滚服务容器版本

docker service update --rollback 回滚服务名

添加容器网络

docker service update --network-add 网络名 服务名

删除容器网络

docker service update --network-rm 网络名 服务名

服务添加暴露端口

docker service update --publish-add 暴露端口:容器端口 服务名

移除暴露端口

docker service update --publish-rm 暴露端口:容器端口 服务名

修改负载均衡模式为dnsrr

docker service update --endpoint-mode dnsrr 服务名

添加新的配置文件到容器内

docker service update --config-add 配置文件名称,target=/../容器内配置文件名 服务名文章源自小柒网-https://www.yangxingzhen.cn/8017.html

---更新配置文件----
1、创建配置文件
docker config create nginx2_config nginx2.conf
2、删除旧配置文件
docker service update --config-rm ce_nginx_config 服务名
3、添加新配置文件到服务
ocker service update --config-add src=nginx2_config,target=/etc/nginx/nginx.conf ce_nginx

删除配置文件

docker service update --config-rm 配置文件名称 服务名

强制重启服务

docker service update --force 服务名文章源自小柒网-https://www.yangxingzhen.cn/8017.html
继续阅读 Docker Swarm最后更新:2022-12-2

赞(3)
未经允许不得转载:工具盒子 » Docker Swarm常用命令