容器化學習2

Docker相關
  1. Docker鏡像就是一個壓縮包,大多數的是直接由完整操作系統的所有文件和目錄構成
  2. 容器編排指的是:用戶通過某些工具或配置完成一組虛擬機以及關聯資源的定義、配置、創建、刪除等工作,然後由雲計算平臺按照這些指定的邏輯完成的過程
  3. 進程:一個程序運行起來後計算機執行環境的總和,容器技術就是通過約束和修改進程的動態表現,創造出容器的邊界
Docker使用
  1. 創建容器:docker run -it busybox /bin/sh
  2. 在容器內的進程和宿主機是隔離的,這種其實就是對被隔離應用的進程空間做修改,使的進程只能看到重新計算過的進程編號,實際使用的進程號沒變。這是linux裏面的Namespace機制,它是linux創建新進程的一個可選參數,在linux系統中創建線程的系統調用是clone(),這個系統調用會爲我們創建一個新的進程,並且返回進程號pid,我們可以在參數中指定CLONE_NEWPID參數,這個新進程可以看到一個全新的進程空間。
    總結:容器是一種特殊的進程,創建容器進程時,指定了這個進程所需要啓用的一組Namespace參數,這樣,容器只能看到當前Namespace限定的資源、文件、設備等。
  3. 容器隔離與限制
    a. 容器表面被隔離起來了,但是它能夠使用到的資源(CPU、內存)等可以隨時被宿主機上的其他進程(或容器)佔用。Linux Cgroups就是Linux內核中用來爲進程設置資源限制的重要功能。限制一個進程組能夠使用的資源上限,包括CPU、內存、磁盤、網絡帶寬等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章