
在某些情況下,比如系統負載很高 docker stop 無法關閉某個容器(無響應),這時可以根據容器進程的ID找到宿主機進程ID,然后kill掉這個容器(最好已經使用了數據卷數據持久化,否則容器內數據有丟失風險)。
docker ps --format '{{.ID}} {{ .Names }}'
CONTAINER ID NAMES
1201281cb959 web
425a6234df74 db
docker inspect -f '{{ .State.Pid }}' web
9834
tail /proc/9834/cmdline ;echo
nginx: master process nginx -g daemon off;
docker top web
kill -9 9834
內容摘自 <<Docker — 從入門到實踐>>
鏡像(Image)和容器(Container)的關系,就像是面向對象程序設計中的類和實例一樣,鏡像是靜態的定義,容器是鏡像運行時的實體。容器可以被創建、啟動、停止、刪除、暫停等。
容器的實質是進程,但與直接在宿主執行的進程不同,容器進程運行于屬于自己的獨立的命名空間。因此容器可以擁有自己的 root文件系統、自己的網絡配置、自己的進程空間,甚至自己的用戶 ID空間。
容器內的進程是運行在一個隔離的環境里,使用起來,就好像是在一個獨立于宿主的系統下操作一樣。這種特性使得容器封裝的應用比直接在宿主運行更加安全。
最后來總結下文章中的知識點
參考文章
doker&k8s Qun [703906133]
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。