码迷,mamicode.com
首页 > 其他好文 > 详细

docker swarm 管理命令

时间:2020-11-12 14:21:01      阅读:7      评论:0      收藏:0      [点我收藏+]

标签:tac   save   col   ado   inspect   overlay   文件系统   升级   ==   

查看swarm集群节点状态
docker node ls

swarm集群节点升降级
升级:docker node promote 节点名称
降级:docker node demote 节点名称
获取swarm集群节点令牌
查看worker的令牌
docker swarm join-token worker
查看manager的令牌
docker swarm join-token manager

退出swarm集群
普通节点离开:docker swarm leave
管理节点离开:docker swarm leave --force (强制离开)
脱离集群后namager节点删除脱离的节点:docker node rm 节点名称

查看节点详细信息
docker node inspect

docker swarm init --force-new-cluster
如果节点失去法定人数(如两个节点的swarm集群离开一个时) 尝试集群任何操作都会报错,最佳方案就是将失去的节点重新联机,若不能操作,从此状态恢复的唯一方法就是在管理节点上使用 docker swarm init --force-new-cluster 。此时该节点成为管理节点的单节点集群,能够管理和运行服务,管理者拥有以前关于服务和任务的所有信息

查看开启的服务
docker service ls

停服务
docker service scale 容器名称=0

启服务
docker service scale 容器名称=1

查看启动日志
docker service logs 容器名称

创建swarm集群
docker swarm init --advertise-addr 192.168.100.102:2377

根据令牌加入集群
docker swarm join --token SWMTKN-1-1lcbx8s5ho8guhi09z7s5dy4m5zsne1v5o7ax7jksnrlz06fd1-aso2tmw9vydrj95sonltzrzq1 192.168.100.102:2377

创建网络netwk:
docker network create --attachable --driver overlay --subnet=10.0.0.0/24 --gateway=10.0.0.1 netwk

docker network create -d overlay --attachable my-attachable-overlay
因为swarm的overlay网络时为了swarm mode service 准备的,相对更健壮,而直接使用docker run 会破坏这里的安全模型,但由于需求很多,于是设定该网络attachable,允许之后的docker run的容器连接到该网络上

镜像的导入导出:
导出:docker save -o nginx.tar nginx:latest
导入:docker load -i nginx.tar

创建容器:
docker service create -d --replicas 2 -name hellowork --network=netk --container-label ‘provider==generic‘ 镜像

docker service create -d\
--replicas 2\
--name hello
--network=nerwk\
--mount type=bind,source=/tmp/date,destination=/date/yy/logs,readonly=true\
--publish 8080:8080\
--constraint ‘engine.labels.provider==igw‘ 镜像

crate命令参数:
-d 后台运行
--replicas 2 运行两个副本
-e env 为在一个任务中的所有任务设置环境变量
-l --label 一个label是key=value键值对应用到服务的元数据
--constraint 可以通过定义约束表达式来限制可用于任务调度的节点。多个约束查找节点时,需要满足每个表达式(AND)匹配。约束可以匹配节点或docker engine的lables
节点属性 匹配 示例
node.id 节点id node.id==23xirnslaiind
node.hostname 节点主机名 node.hostname==www
node.role 节点角色:manager node.role==manager
node.labels 用户定义节点 labels node.labels.security==high
engine.labels docker engine的labels ‘engine.labels.providel==igw‘
--network 添加一个服务到一个现有的网络
-p --publish 可以使用-publish参数把服务端口发布到集群外部
选项 描述
protocol 支持tcp(默认)或者udp
mode 支持ingress(默认)或者host
target 容器的端口号
published 映射到宿主机端口
-p 8080:80 等效于--publish格式为:
-publish protpcol=tcp,mode=ingress,published=8080,target=80
-mount 允许容器从其他容器或主机操作系统上的文件或目录读取或写入
选项 必要 描述
type 如果不指定type,默认时volume。
volume 挂载一个数据卷到容器中
bind 从主机绑定挂载一个目录或文件到
容器中
src或source 当type=bind type=bind src是必须的,并需要指定文件或
目录的绝对路径(列入src=/pov/host)如
果文件或者目录不存在将会报错
dst或destination 是 列入/sor/pat/。如果在容器文件系统不存在
这个路径,engine将在挂载数据卷或绑定挂
载之前先创建这个目录
readonly或ro engine挂载绑定和数据卷默认是读写的,除
非设置了readonly,
true或1或on 挂载绑定数据卷只读
false或0 挂载绑定数据卷读写

docker swarm 管理命令

标签:tac   save   col   ado   inspect   overlay   文件系统   升级   ==   

原文地址:https://blog.51cto.com/14036860/2541707

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!