swarm操作命令

  • docker config

  •     # 查看已創建配置文件
  •     - docker config ls
  •     # 將已有配置文件添加到docker配置文件中
  •     - docker config create docker 配置文件名 本地配置文件
  • 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
  •  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=/../容器內配置文件名 服務名
  •           # 刪除配置文件
  •           - docker service update --config-rm 配置文件名稱 服務名
  •          # 強制重啓服務
  •           - docker service update --force 服務名
  •         #簡單來說就是給每一個node打標籤。

  •        docker node update --label-add func=nginx worker1

  •       #master給worker1的docker打上了功能是nginx的標籤。func和nginx是你可以自己定的鍵值對。

  •  

        #然後在運行docker service create 的時候,指定–constraint參數即可,這樣nginx的容器就會在worker1上啓動,而不會在其他node上啓動了。

  •       docker service create --name my_nginx --constraint 'node.labels.func == nginx' nginx

  •  

     



     

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章