×
您的位置: 首页 > 编程笔记

Docker Swarm 常用命令

Docker Bug 时间:2019-12-16  查看:878   收藏

  • # 管理配置文件

  • docker config

  •     # 查看已创建配置文件

  •     - docker config ls

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

  •     - docker config create docker 配置文件名 本地配置文件


  •  # 管理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


  •  # 管理敏感数据存储

  • docker secret


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

  • docker stack

  •     # 通过.yml文件指令部署

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

  •     # 查看编排服务

  •     - docker stack ls

build
cgroup_parent
container_name
devices
dns
dns_search
tmpfs
external_links
links
network_mode
security_opt
stop_signal
sysctls
userns_mode

docker stack 不支持使用参数


  • # 作为集群的管理

  • 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


  • # 服务管理

  • 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=/../容器内配置文件名 服务名

  • ---更新配置文件----# 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 服务名


 

 

0% (0)
0% (0)