コンテナを実行するのに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とGoogleの検索エンジンの微妙な違いを分析する

2大検索エンジンであるBaiduとGoogleにインデックスされているウェブサイトの特徴は何ですか?...

分散コンピューティングに Redis を使用するのはなぜですか?

ビジネスアプリケーションを作成するプログラマーの多くは、実際の開発で Redis を使用する際に S...

音楽レビューからブランドビデオまで、NetEase Cloud Music のマーケティングの秘密は何でしょうか?

広告業界には「NetEase は広告会社である」という専門用語があります。そう言う理由は、NetEa...

midphase - 70% オフ/最低 $3.29、無料ドメイン名、無制限のウェブサイト構築、ホスティング/VPS/x サーバー

19 年間運営されているトップクラスのホスティング会社である Midphase は、ブラック フライ...

イノベーションワークスのタオ・ニンが起業家精神について語る:製品のイテレーションは週に1回行う必要がある

イノベーションワークスの最高執行責任者兼パートナー、タオ・ニン氏(写真提供:テンセントテクノロジー)...

マイクロコミュニティがフォーラムサイト所有者に適さない6つの理由

最近、マイクロコミュニティはインターネット上で輝く星となっています。さまざまなテクノロジーメディアが...

vpsserver - 香港 VPS/直接接続/$4.99/KVM/512m メモリ/250G トラフィック

vpsserver は 2009 年に設立されたアメリカのホスティング会社で、KVM 仮想化と純粋な...

茶包装業界における外部リンク構築の最適化に関する簡単な議論

外部リンクの最適化を構築することに関しては、ウェブマスターの友人なら誰でもその重要性を知っていると思...

FONEは2021年中国消費財業界CIOカンファレンスに参加し、ビジネスと金融のデジタル変革について議論しました。

[[408405]] 6月25日、中国消費財業界CIO会議が上海で開催されました。このサミットは、「...

SEOで重要なのはあなたの考え方です

最近の Baidu のアップデートにより、多くの人が何らかの影響を受けたと思いますが、私が引き継いだ...

ギャップはどこにあるのでしょうか?中国とアメリカのクラウドコンピューティングベンダー間の競争を技術と市場の観点から見る

ZTE事件以来、米中貿易戦争が激化するなか、「チョークポイント」という言葉が頻繁に聞かれるようになっ...

ページ速度を利用してウェブサイトのパフォーマンスを最適化する方法(パート 1)

SEOウェブサイト最適化において、ウェブサイトのパフォーマンスは実は検索エンジンに大きな影響を与えま...

ハイブリッド クラウドが移行戦略となる理由は何ですか?

ハイブリッド クラウドは現在人気がありますが、長期的にはマルチクラウドが主流になります。最近、米国ラ...

分散アーキテクチャにおける負荷分散を理解するための記事

[[264500]]負荷分散とは何ですか? Baidu のエントリでの説明は次のとおりです。負荷分散...

NetEase Cloud は 3 周年を迎え、60 万人の開発者が接続し、年間収益の成長率は 200% を超えています。

2018年10月11日、NetEaseの通信・動画クラウドサービスブランドであるNetEase Cl...