日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
運(yùn)行容器其實(shí)不需要Docker鏡像

云計(jì)算 這個(gè)有點(diǎn)標(biāo)題黨的意思,但確實(shí)是事實(shí):容器的鏡像只是組織rootfs,如果我們提前準(zhǔn)備好rootfs,那么就不需要容器的鏡像。

這個(gè)有點(diǎn)標(biāo)題黨的意思,但確實(shí)是事實(shí):容器的鏡像只是組織rootfs,如果我們提前準(zhǔn)備好rootfs,那么就不需要容器的鏡像。

下面我們通過一個(gè)實(shí)戰(zhàn)演示一下,如何直接通過runc啟動(dòng)容器。

  
 
 
  1. $ mkdir my_container && cd my_container
  2. $ runc spec

通過spec命令便可以生成一個(gè)config.json文件。文件的內(nèi)容大概是下面這樣的

  
 
 
  1. {
  2.     "ociVersion": "1.0.1-dev",
  3.     "process": {
  4.         "terminal": true,
  5.         "user": {
  6.             "uid": 0,
  7.             "gid": 0
  8.         },
  9.         "args": [
  10.             "sh"
  11.         ],
  12.         "cwd": "/",
  13.         "env": [ ... ],
  14.         "capabilities": { ... },
  15.         "rlimits": [ ... ]
  16.     },
  17.     "root": {
  18.         "path": "rootfs",
  19.         "readonly": true
  20.     },
  21.     "hostname": "runc",
  22.     "mounts": [ ... ],
  23.     "linux": {
  24.         "namespaces": [
  25.             { "type": "pid" },
  26.             { "type": "network" },
  27.             { "type": "ipc" },
  28.             { "type": "uts" },
  29.             { "type": "mount" }
  30.         ]
  31.     }
  32. }

里面就是標(biāo)準(zhǔn)的RUNC格式,主要是定義了啟動(dòng)命令、env、rootfs、主機(jī)名、mount掛載、namespace等。

然后我們創(chuàng)建一個(gè)rootfs目錄

  
 
 
  1. $ mkdir rootfs

然后我們寫一個(gè)打印主機(jī)名的Go程序,編譯后并拷貝到rootfs里面。

  
 
 
  1. $ cat < main.go
  2. package main
  3. import "fmt"
  4. import "os"
  5. func main() {
  6.     fmt.Println(os.Hostname())
  7. }
  8. EOF
  9. $ GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o printme
  10. $ mv printme rootfs/

然后啟動(dòng)容器

  
 
 
  1. $ sudo runc create mycont1
  2. $ sudo runc start mycont1

便可以直接輸出”runc“(因?yàn)樯厦鎠pec定義的hostname就是runc)。

所以對(duì)應(yīng)容器來說,只是需要一個(gè)rootfs,其實(shí)這個(gè)rootfs是怎么生成的,它其實(shí)并不關(guān)心。至于是不是用overlay 制作的更是無從感知。


網(wǎng)站題目:運(yùn)行容器其實(shí)不需要Docker鏡像
本文來源:http://www.dlmjj.cn/article/dppgceh.html