您好,登錄后才能下訂單哦!
簡單命令介紹
ps
docker container ps 是我們早已熟悉的命令了,方便我們查看當前運行的容器。新版的 Docker 提供了一個新命令 docker container ls,其作用和用法與 docker container ps 完全一樣。不過 ls 含義可能比 ps 更準確,所以更推薦使用。
top
如果想知道某個容器中運行了哪些進程,可以執行 docker container top [container] 命令。命令后面還可以跟上 Linux 操作系統 ps 命令的參數顯示特定的信息,比如 -au。
stats
docker container stats 用于顯示每個容器各種資源的使用情況。默認會顯示一個實時變化的列表,展示每個容器的 CPU 使用率,內存使用量和可用量。注意:容器啟動時如果沒有特別指定內存 limit,stats 命令會顯示 host 的內存總量,但這并不意味著每個 container 都能使用到這么多的內存。
除此之外 docker container stats 命令還會顯示容器網絡和磁盤的 IO 數據。默認的輸出有個缺點,顯示的是容器 ID 而非名字。我們可以在 stats 命令后面指定容器的名稱只顯示某些容器的數據。比如 docker container stats sysdig weave。
命令執行
1.ps
[root@docker01 ~]# docker ps
//查看容器信息
2.top
[root@docker01 ~]# docker top 容器名稱
[root@docker01 ~]# docker top wordpress_wordpress_1
//查看容器中運行的進程信息,支持 ps 命令參數。
3.stats
[root@docker01 ~]# docker stats wordpress_wordpress_1
//實時查看容器統計信息,查看容器的CPU利用率、內存的使用量以及可用內存總量。
默認會顯示一個實時變化的列表,展示每個容器的CPU使用率,內存使用量和可用量
注意:容器啟動時如果沒有特別指定內存limit,stats命令會顯示host的內存總量,但這并不意味著每個container都能使用到這么多的內存
除此之外docker container stats命令還會顯示容器網絡和磁盤的IO數據
默認的輸出有個缺點,顯示的是容器ID而非名字。我們可以在stats命令后面指定容器的名稱只顯示某些容器的數據。比如docker container stats test1 test2
[root@docker01 ~]# docker logs 容器名稱
[root@docker01 ~]# docker logs wordpress_wordpress_1
//查看容器的日志
[root@docker01 ~]# docker pull sysdig
//下載sysdig鏡像
[root@docker01 ~]# docker run -it --rm --name sysdig --privileged=true --volume=/var/run/docker.sock:/host/var/run/docker.sock --volume=/dev:/host/dev --volume=/proc:/host/proc:ro --volume=/boot:/host/boot:ro --volume=/lib/modules:/host/lib/modules:ro --volume=/usr:/host/usr:ro sysdig/sysdig
可以看到,sysdig容器是以privileged方式運行,而且會讀取操作系統 /dev,/proc等數據,這是為了獲取足夠的系統信息
啟動后,通過docker container exec -it sysdig bash進入容器,執行csysdig命令,將以交互方式啟動sysdig
root@10ccab83a512:/# system-sysdig-loader
//下載插件失敗后可以運行下邊命令,重新下載
root@10ccab83a512:/# sysdig
//運行sysdig命令,查看監控項,它會動態查看
csysdig 就是運 ncurses 庫的用戶界面的 sysdig 軟件包,Ncurses 是一個能提供功能鍵定義 ( 快捷鍵 ), 屏幕繪制以及基于文本終端的圖形互動功能的動態庫。在 sysdig 軟件包里還提供了一個工具 csysdig,該工具執行后,運行界面和 top 命令類似。csysdig 工作界面如圖 5。
root@10ccab83a512:/# csysdig
//運行csysdig命令,圖形化界面查看監控項,它會動態查看
P:暫停屏幕輸出信息
Enter:進入當前突出顯示的條目。
Ctrl+F:列表搜索。
F1- 幫助信息
F2- 顯示視圖選擇器。這將讓你切換到另一個視圖。
F4- 使用過濾器
F5- 查看 IO 輸出信息
F7 顯示幫助頁面當前顯示的視圖。
F8 打開視圖的操作面板。
F9,打開列排序面板。
Q 放棄退出。
Arrows, PgUP, PgDn, Home, End:圖標上下左右的移動控制。
sysdig按不同的View來監控不同類型的資源,點擊底部Views菜單(或者按F2),顯示View選擇列表
我們將光標移到Containers這一項,界面右邊立即顯示出此view的功能介紹,回車或者雙擊Containers,進入容器監控界面
sysdig會顯示該host所有的容器的實時數據,每兩秒刷新一次。各列數據的含義也是自解釋的,如果不清楚,可以點一下底部的Legend,如果想按某一列排序,比如按使用的內存量,點一下列頭VIRT
如果想查看某個容器的進程,將光標移動到目標容器,然后回車或者雙擊
還可以繼續雙擊查看進程中的線程
返回上一級,按退格鍵即可
sysdig的交互功能很強,如果界面顯示的條目很多,可以點擊底部Search菜單,然后輸入關鍵字進行查找
如果覺得界面刷新太快,看不清楚關注的信息,可以點擊底部的Pause菜單
sysdig的特點:
(1)監控信息全,包括Linux操作系統和容器
(2)界面交互性強
其缺點是sysdig顯示的是實時數據,看不到變化和趨勢。而且是命令行操作方式,需要ssh到host上執行,不是太方便
總結
這些示例僅僅是展示了 Sysdig 能力的冰山一角,在目前的其他系統監控類工具中,筆者還沒有看到像 Sysdig 這樣功能如此強大、而又對容器支持這樣好的。所以,對于經常使用服務器特別是 Docker 容器作為產品運行方式的用戶,這是一款值得使用的系統工具。
Weave Scope 的最大特點是會自動生成一張 Docker 容器地圖,讓我們能夠直觀地理解、監控和控制容器。千言萬語不及一張圖,先感受一下。
[root@docker01 ~]# docker pull scope
//下載scope鏡像
[root@docker01 ~]# curl -L git.io/scope -o /usr/local/bin/scope
[root@docker01 ~]# chmod +x /usr/local/bin/scope
[root@docker01 ~]# scope launch
然后就可以更好的監控,管理docker中的容器了
docker01
刪除weavescope容器
[root@docker01 ~]# docker stop weavescope
weavescope
[root@docker01 ~]# docker rm weavescope
weavescope
docker02
[root@docker01 ~]# docker pull scope
//下載scope鏡像
[root@docker01 ~]# curl -L git.io/scope -o /usr/local/bin/scope
[root@docker01 ~]# chmod +x /usr/local/bin/scope
[root@docker01 ~]# scope launch
docker01
[root@docker01 ~]# scope launch 192.168.1.11 192.168.1.13
docker02
[root@docker02 ~]# scope launch 192.168.1.13 192.168.1.11
瀏覽器訪問http://192.168.1.13:4040/也是可以的
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。