私はドッカーには新しく、私はドキュメントで最初のhello worldの例を試していました。私が理解しているように、こんにちは世界のイメージはスクラッチイメージの上に基づいています。誰かがスクラッチイメージの仕組みを説明できますか?私が理解するように、それは本質的に空白です。こんにちは、世界の画像でバイナリはどのように実行されますか?あなたがここにソースを見ればドッカーのスクラッチ画像とは何ですか?
答えて
それは実際には、空白ではないのですが、それだけではDebianの非常に最小限のバージョンを使用しています、それはそれはdebian:stretch-slim
https://github.com/docker-library/hello-world/blob/master/Dockerfile.build#L2
編集に引っ張っていますを示しています。
ありドッカーハブのスクラッチイメージですが、ベースイメージを作成するための基本的なキャンバスですが、OSをセットアップしてから新しいイメージを作成するまでは本質的に役に立たないものです。あなた自身のオペレーティングシステムを書いていないかぎり、あなたはそれを使う必要はないでしょう。既存のプラットフォームはすべて、すでに何らかの形で存在しています。
scratch
画像はDockerの中で最も小さい画像です。これは他のすべての画像の基本祖先です。 scratch
イメージは実際には空です。フォルダ/ファイルが含まれていません...
scratch
画像は他のベース画像を構築するために使用されます。例えば、debian画像は、次のようなゼロから構築されています:
FROM scratch
ADD rootfs.tar.xz/
CMD ["bash"]
は、すべてのファイルシステムのファイルが含まれています。 Debianイメージはファイルシステムフォルダをスクラッチイメージに追加します。これは空です。
私はそれが本質的に空白であると理解しています。どのようにしてバイナリが で実行されるのですか?
スクラッチイメージは空白です。スクラッチイメージに追加されたhello-world実行可能ファイルは実際には静的にコンパイルされています。つまり、自己完結型で実行するために追加のライブラリは必要ありません。 offical docker docsで述べたよう
:あなたがドッカー GitHubの例C-ソースコードから「ハロー」の実行例を構築し仮定
、あなたが-static フラグとそれをコンパイルし、その後、缶ドッカーのビルド - タグ hello
これは、hello-world実行可能ファイルが静的にコンパイルされていることを確認します。静的コンパイルの詳細については、hereを参照してください。
- 1. ドッカーの公式画像とカスタム画像
- 2. ドッカー画像のサイズと仮想サイズの違いは何ですか?
- 3. シェフとドッカー画像のプロビジョニング
- 4. ドッカー:親画像には何がありますか?
- 5. リモートアップデートec2インスタンスとドッカー画像
- 6. ドッカー - ジェンキンス画像
- 7. ドッカー:画像
- 8. ドッカー「ジェンキンス」の画像は、インターネット
- 9. ドッカー画像でドッカー画像やソースコードを暗号化するには?
- 10. ドッカー画像のバージョンインクリメント
- 11. ドッカー画像のバックアップ
- 12. python3 nodejsドッカー画像
- 13. レスキュー画像とは何ですか?
- 14. ドッカーとNETCore 2.0、ドッカー画像を実行できません
- 15. ドッカー画像をテストする
- 16. OVFとしての船舶ドッカー画像
- 17. ドッカー画像の内容
- 18. ドッカー画像の展開
- 19. ドッカー - クリーンTomcatの画像
- 20. 特定ノードバージョンのドッカー画像
- 21. 32ビットUbuntuのドッカー画像
- 22. ドッカー画像の設定名
- 23. ドッカー画像のリストが空白なのはなぜですか?
- 24. ドッカーの画像はtmpディレクトリにアクセスできますか?
- 25. ドッカー画像がマージされないのはなぜですか?
- 26. ドッカーのドッカー画像でデーモンドッカーに接続できません
- 27. ドッカー画像をコンテナとして実行
- 28. Docker Composeとrabbitmqドッカー画像プラグイン
- 29. 古いドッカー画像の使い方は?
- 30. PostgreSQLドッカーの画像でテーブルを作成