コンテナを実行するのにDockerイメージは実際には必要ない

コンテナを実行するのにDockerイメージは実際には必要ない

これは少し見出しっぽいですが、コンテナ イメージは単なる組織の rootfs であるというのは本当です。事前に rootfs を準備しておけば、コンテナ イメージは必要ありません。

[[439964]]

次に、runc を介してコンテナを直接起動する方法を実際のデモンストレーションで説明します。

  1. $ mkdir my_container && cd my_container
  2. $ runc スペック

config.json ファイルは、spec コマンドを通じて生成できます。ファイルの内容はおそらく次のようになります

  1. {
  2. "ociバージョン" : "1.0.1-dev"
  3. "プロセス" : {
  4. "ターミナル" : true
  5. 「ユーザー」 : {
  6. 「ユーザーID」 : 0,
  7. "gid" : 0
  8. },
  9. 「引数」 : [
  10. 「しっ」  
  11. ]、
  12. "cwd" : "/" ,
  13. "env" : [ ... ],
  14. 「機能」 : { ... },
  15. 「rlimits」 : [ ... ]
  16. },
  17. "根" : {
  18. 「パス」 : 「rootfs」
  19. "読み取り専用" : true  
  20. },
  21. 「ホスト名」 : 「runc」
  22. 「マウント」 : [ ... ],
  23. 「Linux」 :{
  24. 「名前空間」 : [
  25. { "タイプ" : "pid" },
  26. { "タイプ" : "ネットワーク" },
  27. { "タイプ" : "ipc" },
  28. { "タイプ" : "uts" },
  29. { "タイプ" : "マウント" }
  30. ]
  31. }
  32. }

これには、主に起動コマンド、env、rootfs、ホスト名、マウント、名前空間などを定義する標準の RUNC 形式が含まれています。

次にrootfsディレクトリを作成します

  1. $ mkdir ルートファイルシステム

次に、ホスト名を出力する Go プログラムを作成し、コンパイルして rootfs にコピーします。

  1. $ cat <<EOF > main.go
  2. パッケージメイン
  3.  
  4. 「fmt」をインポートする 
  5. インポート"os"  
  6.  
  7. 関数main() {
  8. fmt.Println(os.Hostname())
  9. }
  10. 終了
  11.  
  12. $ GOOS=linux GOARCH=amd64 go build -ldflags= "-w -s" -o printme
  13. $ mv printme ルートファイルシステム/

次にコンテナを起動します

  1. $ sudo runc でmycont1を作成します
  2. $ sudo runc スタート mycont1

「runc」を直接出力できます(上記の仕様で定義されているホスト名がruncであるため)。

したがって、対応するコンテナには rootfs のみが必要であり、rootfs がどのように生成されるかは実際には気にする必要はありません。オーバーレイで作られたかどうかについては、判断するのはさらに困難です。

<<:  ヘルスケアにおけるエッジコンピューティングと5Gの役割

>>:  クラウドネイティブのインメモリデータベースであるTairは、ユーザーエクスペリエンスの最適化に役立ちます。

推薦する

Baiduのインデックスページの最新調整:サムネイル表示画像の選択

最近、Baidu にインデックスされたページのほとんどにサムネイルを抽出する現象が発生しており、対象...

dedipath: $198/2*e5-2620v2/512G メモリ/複数のディスク スロット/1Gbps 帯域幅/無制限トラフィック、ロサンゼルスおよびニューヨークのデータ センター

Dedipath の米国サーバーでは特別プロモーションを実施しており、西海岸のロサンゼルスと東海岸の...

清雲新創クラウドは国内の3段階の置き換えを護衛する

現在の国際環境はますます複雑化、深刻化しており、国防や科学技術安全保障の重要性はより顕著になっていま...

海外の購買代理店は岐路に立たされている:猿を怖がらせるために鶏を殺しても効果がないかもしれない

編集後記/最近、「スチュワーデス購買代行」が密輸容疑で重刑を宣告された事件は、国内の多くの購買代行業...

トラフィックと収入は比例しません。SEO 担当者はクリック コストをどのように最適化できるでしょうか?

みなさんこんにちは、私の名前は張家傑(ペンネーム)です。最近、トラフィックと収益の関係という問題に悩...

Youmi.com CEO 王立文氏:人々の競争力の半分は緊急でないことから生まれる

ビジネスを始めるということは、誰も歩んだことのない道を歩むことを意味し、ビジネスを始めるには洞察力、...

可観測性を通じてクラウドネイティブの持続可能性を向上させる方法

Kubernetes のようなプロジェクトは、多くのアプリケーション スタックに不可欠な要素となって...

国内外の株式型クラウドファンディングプラットフォームに関する議論

1 か月前、私は起業家向けクラウドファンディングの 3 つのモデル、つまり証明書ベース、メンバーシッ...

Twitterがニューヨーク証券取引所に正式に上場

北京時間11月7日、世界的に有名なソーシャルネットワーキングサイトTwitterがニューヨーク証券取...

業界物流ウェブサイトプロモーション経験

プロモーション活動を経て、物流業界についてある程度理解できました。今後、インターネットなしでは成り立...

moecloud: サンノゼ cn2 gia vps、新年20%オフ、月額47元、512Mメモリ/1コア/10g SSD/450gトラフィック/200M帯域幅

中国の商人であるMoecloudは、2008年にVPS事業を開始しました。現在は、米国西海岸サンノゼ...

コンテンツマーケティングに関するケーススタディの簡単な説明

ケーススタディ: 単一の例またはアクティビティの詳細な調査。特定の概念やアイデアをより深く理解したり...

#618# ufovps: すべての VPS が 20% オフ、最大 20% 追加、香港、日本、米国のデータ センター、複数の回線

ufovps は毎年恒例の年中特別プロモーションを実施し、すべての VPS サービスが 20% オフ...

ウェブサイト分析ハック集: JavaScript ドキュメント オブジェクト モデル

この記事は、Web 分析の第一人者である Eric T. Peterson 氏の著書「Web Sit...

最大のショッピング割引ウェブサイトは、ねずみ講の疑いで閉鎖されました。ねずみ講の疑いを特定するのは困難です。

新華社によると、浙江省金華市の関係者は、国内最大のショッピング割引サイトである浙江易佳電子商取引有限...