資料介紹
軟件簡介
1. 概述
1.1. cocker是什么
cocker
是我個人用C語言完全自研的容器引擎(對標Docker
),主要解決如下工作場景中的痛點:
-
原生支持多進程架構(gòu)的容器使用模式,無須引入第三方組件。
-
按虛擬主機方式管理容器,交互式構(gòu)建鏡像,寫過復(fù)雜Dockerfile的人都深惡痛絕。
-
鏡像多版本共存管理。
-
(更多...)
cocker
使用到了以下Linux底層技術(shù):LXC
、cgroup
、overlayfs
、iptables
、ptms
等。
1.2. 系統(tǒng)架構(gòu)
在LXC中,容器只是內(nèi)核命名空間隔離的根進程以及子進程樹,隔離域有主機名字、進程空間、根文件系統(tǒng)、IPC、網(wǎng)絡(luò)等。cocker
完整的實現(xiàn)了以上所有隔離域,在容器管理設(shè)計上傾向于虛擬主機方式,也支持類似Docker
的單進程方式。
cocker
自帶了容器根進程,負責(zé)通過偽終端方式橋接容器內(nèi)外,而不是必須通過ssh
。
cgroup
負責(zé)隔離域的系統(tǒng)資源管控,包括CPU、內(nèi)存等。
1.2.1. 狀態(tài)遷移圖
cocker
鏡像可以本地構(gòu)建或從鏡像庫上傳下載,鏡像庫目前只支持ssh
服務(wù)端,后續(xù)版本中會加入cocker
原生服務(wù)器。
cocker
鏡像允許不同版本共存,創(chuàng)建容器時可以指定鏡像版本,或者默認最新版。鏡像可以復(fù)制和刪除,也可以修改版本號。
cocker
容器創(chuàng)建出來后可以啟動、關(guān)閉和銷毀。修改容器屬性如虛擬IP、端口映射和卷映射必須在容器關(guān)閉狀態(tài)下進行。
cocker
鏡像可以轉(zhuǎn)化為cocker
容器便于交互式修改,然后再轉(zhuǎn)化回來。
1.2.2. 層疊文件系統(tǒng)
層疊文件系統(tǒng)是多鏡像容器的存儲基礎(chǔ),cocker采用overlayfs作為其層疊文件系統(tǒng)引擎,可以疊加幾乎無限的鏡像層。
cocker
的鏡像和容器等都存放在環(huán)境變量COCKER_HOME
指向的主目錄中,所以規(guī)劃其容量是使用前必須要考慮的問題。如果沒有設(shè)置環(huán)境變量COCKER_HOME
,則默認指向/var/cocker
。
COCKER_HOME
主目錄中有鏡像主目錄images
、容器主目錄containers
、ssh
鏡像倉庫srepo
,以及日志文件cocker.log
。
1.2.3. 網(wǎng)絡(luò)
cocker
支持三種網(wǎng)絡(luò)模型:HOST、CUSTOM和BRIDGE。
網(wǎng)絡(luò)模型 | 說明 |
---|---|
HOST | 無預(yù)置網(wǎng)絡(luò)環(huán)境 |
CUSTOM | 僅僅預(yù)置網(wǎng)絡(luò)命名空間,不創(chuàng)建容器內(nèi)外網(wǎng)卡等,由完全由用戶自設(shè)置 |
BRIDGE | 預(yù)置以NAT方式的容器向宿主機的網(wǎng)絡(luò)連通方式、自定義多組指定端口映射轉(zhuǎn)發(fā)的宿主機向容器的網(wǎng)絡(luò)連通方式 |
首次執(zhí)行cocker
會創(chuàng)建網(wǎng)橋設(shè)備cocker0
,網(wǎng)段為166.88.0.x
。
1.2.4. 系統(tǒng)資源限制
cocker
目前只實現(xiàn)了CPU核分配、時間片占用百分比分配、內(nèi)存分配,其它系統(tǒng)資源在后續(xù)版本中會逐漸完善。
1.2.5. 偽終端
自帶容器根進程接受客戶端cocker
連接后會創(chuàng)建偽終端會話,就像登錄到虛擬主機上命令交互一樣,無需使用ssh
。
1.3. 快速使用
使用主控工具cocker快速創(chuàng)建一個小型測試鏡像,里面調(diào)用了自帶腳本cocker_install_test.sh
構(gòu)建根文件系統(tǒng)。
然后使用指令-a boot
基于剛剛創(chuàng)建的鏡像test
啟動一個容器test
,并且直接打開一個會話連接到容器中的偽終端...退出偽終端后,使用指令-a shutdown
關(guān)閉容器,最后使用指令-a destroy
銷毀容器。
#?cocker?-a?install_test OK #?cocker?-s?images image_id???????????????????????version????modify_datetime?????size?????? -------------------------------------------------------------------- test???????????????????????????_??????????2018-11-10T09:21:12?24?MB #?cocker?-a?create?-m?test?-c?test OK #?cocker?-a?boot?-c?test?-t??? connect?to?container?ok ---?Welcome?to?cocker?contrainer?--- [root@test?/root]?exit logout #?cocker?-a?shutdown?-c?test OK #?cocker?-a?destroy?-c?test OK
...
2. 最后
2.1. 關(guān)于cocker
歡迎使用cocker,如果你使用中碰到了問題請告訴我,謝謝 ^_^
2.2. 關(guān)于作者
厲華,主手C,寫過小到性能卓越方便快捷的日志庫、HTTP解析器、日志采集器等,大到交易平臺/中間件等,分布式系統(tǒng)實踐者,容器技術(shù)愛好者,目前在某城商行負責(zé)基礎(chǔ)架構(gòu)。
- C語言實現(xiàn)Web參數(shù)傳遞 2次下載
- 單片機實現(xiàn)24C02存儲上次使用中狀態(tài)的C語言實例 9次下載
- CRC校驗算法原理及c語言實現(xiàn) 9次下載
- 累加校驗和C語言實現(xiàn)
- 使用單片機實現(xiàn)999累減的C語言實例免費下載 7次下載
- 使用單片機實現(xiàn)數(shù)碼管消隱的C語言實例免費下載 15次下載
- 使用C++語言實現(xiàn)的解題的實例說明 6次下載
- 使用C語言實現(xiàn)靜態(tài)網(wǎng)頁的代碼免費下載 2次下載
- 使用C語言實現(xiàn)抽獎系統(tǒng)的設(shè)計資料和源代碼說明 12次下載
- 如何使用C語言實現(xiàn)軟復(fù)位詳細資料說明
- 4個重要算法C語言實現(xiàn)源代碼 12次下載
- C++語言實現(xiàn)火車排序功能 2次下載
- PID控制算法的C語言實現(xiàn)(完整版) 0次下載
- DSP算法的c語言實現(xiàn) 0次下載
- CRC算法原理及C語言實現(xiàn)
- 一個使用Java語言實現(xiàn)的向量化BLAS庫VectorBLAS 1024次閱讀
- 西門子博途S7-1200使用SCL語言實現(xiàn)雙重循環(huán) 6089次閱讀
- C語言實現(xiàn)《別碰白塊》小游戲!全部代碼+思路注釋 1108次閱讀
- 怎么用C語言實現(xiàn)多態(tài) 1871次閱讀
- 如何使用C語言實現(xiàn)動態(tài)擴容的string 1929次閱讀
- C語言模擬實現(xiàn)strcmp函數(shù) 2574次閱讀
- 使用C語言實現(xiàn)萬年歷星期速算法的源代碼免費下載 2994次閱讀
- 可用于嵌入式系統(tǒng)的傅立葉變換的C語言實現(xiàn)方法 1457次閱讀
- C語言作為高級編程語言中的一門“低級”語言為什么要學(xué)習(xí)? 8014次閱讀
- C語言實現(xiàn)簡單的基數(shù)排序 1745次閱讀
- 電路板排列問題 回溯(C語言) 5823次閱讀
- 小波去噪c語言程序 1.4w次閱讀
- c語言實現(xiàn)fifo算法及代碼 1.7w次閱讀
- c語言實現(xiàn)des加密算法詳細過程 3.5w次閱讀
- 實數(shù)FFT算法的設(shè)計及其C語言實現(xiàn) 1w次閱讀
下載排行
本周
- 1使用單片機實現(xiàn)七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 2聯(lián)想E46L DAOLL6筆記本電腦圖紙
- 1.10 MB | 2次下載 | 5 積分
- 3MATLAB繪圖合集
- 27.12 MB | 2次下載 | 5 積分
- 4PR735,使用UCC28060的600W交錯式PFC轉(zhuǎn)換器
- 540.03KB | 1次下載 | 免費
- 5UCC38C42 30W同步降壓轉(zhuǎn)換器參考設(shè)計
- 428.07KB | 1次下載 | 免費
- 6DV2004S1/ES1/HS1快速充電開發(fā)系統(tǒng)
- 2.08MB | 1次下載 | 免費
- 7模態(tài)分解合集matlab代碼
- 3.03 MB | 1次下載 | 2 積分
- 8美的電磁爐維修手冊大全
- 1.56 MB | 1次下載 | 5 積分
本月
- 1使用單片機實現(xiàn)七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 2UC3842/3/4/5電源管理芯片中文手冊
- 1.75 MB | 15次下載 | 免費
- 3DMT0660數(shù)字萬用表產(chǎn)品說明書
- 0.70 MB | 13次下載 | 免費
- 4TPS54202H降壓轉(zhuǎn)換器評估模塊用戶指南
- 1.02MB | 8次下載 | 免費
- 5STM32F101x8/STM32F101xB手冊
- 1.69 MB | 8次下載 | 1 積分
- 6HY12P65/HY12P66數(shù)字萬用表芯片規(guī)格書
- 0.69 MB | 6次下載 | 免費
- 7華瑞昇CR216芯片數(shù)字萬用表規(guī)格書附原理圖及校正流程方法
- 0.74 MB | 6次下載 | 3 積分
- 8華瑞昇CR215芯片數(shù)字萬用表原理圖
- 0.21 MB | 5次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多