Skip to content

Docker Swarm 進階實戰 (2)

  • Ops
tags: docker, devops

Docker Swarm進階實戰(2)

Service Logs

  • 是container logs的聚集
  • 可以印出全部tasks或單一task
  • 如果你沒有log system,這可能是唯一troubleshooting的方式
  • 沒有storage,、不支援log搜尋或轉送至其他系統
  • 如果你有設定--log-driver,也就是其他logging方式,此指令就抓不到任何logs

除非你是小型swarm或測試階段,才使用一般的service logs,長期還是需要其他log storage的解決方案

範例指令

印出時不被截斷

只取最近50筆

Linux跟Mac可以透過grep做簡單的篩選

Windows透過findstr

Docker Events

  • Docker engine或Swarm產生的操作(Action)紀錄
  • 紀錄service/node/secret/config/network等的新增修改刪除動作
  • 支援搜尋及formatting
  • 分兩種scope,分別是swarm level跟local level(單一node)
  • event存在實體記憶體,最多只能存1000筆,所以當node數量很多時,event就不堪用了,還是需要額外的logging system

範例指令 顯示local events,如果node是manager,會顯示swarm events

--since

--filter

Swarm Configs

可以在Swarm的Raft Database儲存字串或檔案,並mapping容器中,適合的應用場景為:

  • nginx設定或更改proxy config
  • 設定或更改資料庫config等 這樣可以取代bind mount(將資料儲存在硬碟),存在Raft能提高可用性 swarm config跟secret有異曲同工之妙,可以透過指令來新增刪除config files,要注意的是:
  • config是immutable,不能修改只能replace
  • 若有任何service使用到該config,要先移除service才能移除config
  • 如果是隱私資料一樣用secret來存

範例指令

用特定config來建立一個service

新增新的config來取代舊的,並更新有用到該config的service

stack file,3.3之後才支援config

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *