コンテナを実行するのに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は、ユーザーエクスペリエンスの最適化に役立ちます。

推薦する

コンテンツは王様マーケティング統合事例分析

今日の複雑なメディア環境では、「コンテンツが王様」と「統合が勝つ」は互いに補完し合い、必要不可欠です...

Moments 広告の新しい @friend 機能はどのような効果をもたらすのでしょうか?

モーメントの@Friendsの新機能が話題になりました。 WeChat広告アシスタント公式アカウント...

SEOの観点から見た360度旅行

今日、偶然、360 Travelのウェブサイトが注目を集める形で立ち上げられたことを発見しました。一...

「ICT+AR」で遠隔操作も可能に

[51CTO.com からのオリジナル記事] 今年、この流行病は世界に多大な影響をもたらし、人々の生...

ユーザーエクスペリエンスを再定義する10のヒント

碑文:周知のとおり、IT 業界において最も重要なユーザー エクスペリエンスは、インターフェイス ユー...

オンライン商品プロモーションプランの要素とチャネル!

視点1:一般的なプロモーションプロセスは次のとおりです。 1. 誰にプッシュしたいのかを明確にします...

オレオの広告から見るウェブサイトマーケティングの位置づけと手法

まずはこの広告を紹介します。父親がテーブルにオレオクッキーを数枚置き、ソファで寝たふりをして子供と遊...

ソフト記事マーケティング分析:「西之朗」の売れ行き好調の理由

瀋陽のネットワークマーケティングブロガーである周旭生氏は、かつてA5ウェブマスターフォーラムで次のよ...

2345ナビゲーション海賊事件:会長と他の8人の被告に執行猶予付きの判決

IT Timesの記者は、情報筋から、2011年に公安部が実施した「抜刀作戦」における主要なソフトウ...

簡単な説明: SEO の最高レベルとは何でしょうか?

SEO 業界で数年間働いた後でも、私はまだ自分を新人だと思っています。なぜなら、SEO 業界は非常に...

アリババクラウドの年間収益は400億ドルを超え、最新の評価額は770億ドル

5月22日夜、アリババグループは2020年度の業績を発表した。アリババクラウドの年間収益は400億元...

IT リーダーズ サミットが本日開幕、業界リーダーが出席 (写真)

ロビン・リーは昨夜の首脳会談の夕食会の後、報道陣に囲まれた。馬化騰氏がIDGグローバル執行副社長兼ア...

2022年第2四半期、3大クラウドベンダーの全体的な収益は総じて減少した。

AWS、Azure、Google Cloud は長期にわたる戦いを繰り広げています。 AWS はクラ...

江島クラウド:企業のデジタル革新を促進する普遍的な開発

デジタル時代においては、すべての人による「開発」が新たな働き方となるでしょう。ガートナーの分析による...

ウェブサイトの商業化は合理的でなければなりません。純粋な商業化はウェブサイト開発に役立ちません(パート 2)

数日前、私は「ウェブサイトの商業化は合理的でなければならない、純粋な商業化はウェブサイトの発展に悪影...