資料介紹
軟件簡介
1. 概述
1.1. cocker是什么
cocker
是我個(gè)人用C語言完全自研的容器引擎(對標(biāo)Docker
),主要解決如下工作場景中的痛點(diǎn):
-
原生支持多進(jìn)程架構(gòu)的容器使用模式,無須引入第三方組件。
-
按虛擬主機(jī)方式管理容器,交互式構(gòu)建鏡像,寫過復(fù)雜Dockerfile的人都深惡痛絕。
-
鏡像多版本共存管理。
-
(更多...)
cocker
使用到了以下Linux底層技術(shù):LXC
、cgroup
、overlayfs
、iptables
、ptms
等。
1.2. 系統(tǒng)架構(gòu)
在LXC中,容器只是內(nèi)核命名空間隔離的根進(jìn)程以及子進(jìn)程樹,隔離域有主機(jī)名字、進(jìn)程空間、根文件系統(tǒng)、IPC、網(wǎng)絡(luò)等。cocker
完整的實(shí)現(xiàn)了以上所有隔離域,在容器管理設(shè)計(jì)上傾向于虛擬主機(jī)方式,也支持類似Docker
的單進(jìn)程方式。
cocker
自帶了容器根進(jìn)程,負(fù)責(zé)通過偽終端方式橋接容器內(nèi)外,而不是必須通過ssh
。
cgroup
負(fù)責(zé)隔離域的系統(tǒng)資源管控,包括CPU、內(nèi)存等。
1.2.1. 狀態(tài)遷移圖
cocker
鏡像可以本地構(gòu)建或從鏡像庫上傳下載,鏡像庫目前只支持ssh
服務(wù)端,后續(xù)版本中會加入cocker
原生服務(wù)器。
cocker
鏡像允許不同版本共存,創(chuàng)建容器時(shí)可以指定鏡像版本,或者默認(rèn)最新版。鏡像可以復(fù)制和刪除,也可以修改版本號。
cocker
容器創(chuàng)建出來后可以啟動、關(guān)閉和銷毀。修改容器屬性如虛擬IP、端口映射和卷映射必須在容器關(guān)閉狀態(tài)下進(jìn)行。
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
,則默認(rèn)指向/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方式的容器向宿主機(jī)的網(wǎng)絡(luò)連通方式、自定義多組指定端口映射轉(zhuǎn)發(fā)的宿主機(jī)向容器的網(wǎng)絡(luò)連通方式 |
首次執(zhí)行cocker
會創(chuàng)建網(wǎng)橋設(shè)備cocker0
,網(wǎng)段為166.88.0.x
。
1.2.4. 系統(tǒng)資源限制
cocker
目前只實(shí)現(xiàn)了CPU核分配、時(shí)間片占用百分比分配、內(nèi)存分配,其它系統(tǒng)資源在后續(xù)版本中會逐漸完善。
1.2.5. 偽終端
自帶容器根進(jìn)程接受客戶端cocker
連接后會創(chuàng)建偽終端會話,就像登錄到虛擬主機(jī)上命令交互一樣,無需使用ssh
。
1.3. 快速使用
使用主控工具cocker快速創(chuàng)建一個(gè)小型測試鏡像,里面調(diào)用了自帶腳本cocker_install_test.sh
構(gòu)建根文件系統(tǒng)。
然后使用指令-a boot
基于剛剛創(chuàng)建的鏡像test
啟動一個(gè)容器test
,并且直接打開一個(gè)會話連接到容器中的偽終端...退出偽終端后,使用指令-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í)踐者,容器技術(shù)愛好者,目前在某城商行負(fù)責(zé)基礎(chǔ)架構(gòu)。
- C語言實(shí)現(xiàn)Web參數(shù)傳遞 2次下載
- 單片機(jī)實(shí)現(xiàn)24C02存儲上次使用中狀態(tài)的C語言實(shí)例 9次下載
- CRC校驗(yàn)算法原理及c語言實(shí)現(xiàn) 9次下載
- 累加校驗(yàn)和C語言實(shí)現(xiàn)
- 使用單片機(jī)實(shí)現(xiàn)999累減的C語言實(shí)例免費(fèi)下載 7次下載
- 使用單片機(jī)實(shí)現(xiàn)數(shù)碼管消隱的C語言實(shí)例免費(fèi)下載 15次下載
- 使用C++語言實(shí)現(xiàn)的解題的實(shí)例說明 6次下載
- 使用C語言實(shí)現(xiàn)靜態(tài)網(wǎng)頁的代碼免費(fèi)下載 2次下載
- 使用C語言實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)的設(shè)計(jì)資料和源代碼說明 12次下載
- 如何使用C語言實(shí)現(xiàn)軟復(fù)位詳細(xì)資料說明
- 4個(gè)重要算法C語言實(shí)現(xiàn)源代碼 12次下載
- C++語言實(shí)現(xiàn)火車排序功能 2次下載
- PID控制算法的C語言實(shí)現(xiàn)(完整版) 0次下載
- DSP算法的c語言實(shí)現(xiàn) 0次下載
- CRC算法原理及C語言實(shí)現(xiàn)
- 一個(gè)使用Java語言實(shí)現(xiàn)的向量化BLAS庫VectorBLAS 1024次閱讀
- 西門子博途S7-1200使用SCL語言實(shí)現(xiàn)雙重循環(huán) 6089次閱讀
- C語言實(shí)現(xiàn)《別碰白塊》小游戲!全部代碼+思路注釋 1108次閱讀
- 怎么用C語言實(shí)現(xiàn)多態(tài) 1871次閱讀
- 如何使用C語言實(shí)現(xiàn)動態(tài)擴(kuò)容的string 1929次閱讀
- C語言模擬實(shí)現(xiàn)strcmp函數(shù) 2574次閱讀
- 使用C語言實(shí)現(xiàn)萬年歷星期速算法的源代碼免費(fèi)下載 2994次閱讀
- 可用于嵌入式系統(tǒng)的傅立葉變換的C語言實(shí)現(xiàn)方法 1457次閱讀
- C語言作為高級編程語言中的一門“低級”語言為什么要學(xué)習(xí)? 8014次閱讀
- C語言實(shí)現(xiàn)簡單的基數(shù)排序 1745次閱讀
- 電路板排列問題 回溯(C語言) 5823次閱讀
- 小波去噪c語言程序 1.4w次閱讀
- c語言實(shí)現(xiàn)fifo算法及代碼 1.7w次閱讀
- c語言實(shí)現(xiàn)des加密算法詳細(xì)過程 3.5w次閱讀
- 實(shí)數(shù)FFT算法的設(shè)計(jì)及其C語言實(shí)現(xiàn) 1w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多