このプロジェクトについて

Buildahは、Open Container Initiative(OCI)コンテナイメージをビルドするためのオープンソースのコマンドラインツールです。containersプロジェクトエコシステムの一部であり、Podmanと密接に関連しています。 READMEに記載されている主な機能: - スクラッチから、または既存のイメージを出発点として作業コンテナを作成する。 - 作業コンテナから、またはDockerfile/Containerfileの指示からイメージを作成する。 - OCIイメージ形式または従来のアップストリームDockerイメージ形式のいずれかでイメージをビルドする。 - 作業コンナのルートファイルシステムをマウントおよびアンマウントして直接操作する。 - コンテナのルートファイルシステムの更新された内容をファイルシステムレイヤーとして使用し、新しいイメージを作成する。 - 作業コンテナまたはイメージを削除し、ローカルコンテナの名前を変更する。 Buildahはroot権限を必要とせずに動作するように設計されています。そのコマンドはDockerfileにある操作を再現し、Dockerfileの有無にかかわらずイメージビルドを可能にします。このプロジェクトは、イメージをビルドするためのより低レベルのcoreutilsスタイルのインターフェースを提供することを目標としており、Dockerfileなしでのビルドにより、他のスクリプト言語をビルドプロセスに統合できると述べています。Buildahはfork-execモデルに従い、デーモンとして実行されません。他のツールにベンダリングできるGo APIに基づいています。 READMEはPodmanとの関係を説明しています。PodmanはOCIイメージの維持と変更(プル、タグ付け)、およびそれらのイメージからコンテナを作成、実行、維持することを専門としています。Dockerfileを介したイメージビルドには、PodmanはBuildahのGo APIを使用し、独立してインストールできます。主な違いはコンテナの概念です。Podmanコンテナは長期間存続することを意図していますが、Buildahコンテナはコンンツをイメージに戻すために存在します。READMEは、`buildah run`がDockerfileのRUNコマンドをエミュレートするのに対し、`podman run`は`docker run`をエミュレートすること、および基盤となるストレージの違いにより、PodmanコンテナはBuildah内からは見えず、その逆も同様であることを述べています。 READMEには、ベースイメージからコンテナを作成し、パッケージ更新を実行してlighttpdをインストールし、ビルド時のアノテーションを設定し、コマンドと公開ポートを構成し、コンテナをイメージ名にコミットするシェルの例が含まれています。 文書化されているCLIコマンドには、add、build、commit、config、containers、copy、from、images、info、inspect、mount、pull、push、rename、rm、rmi、run、tag、umount、unshare、versionが含まれます。READMEはまた、チュートリアル、インストールノート、トラブルシューティングガイド、デモ、変更履歴、貢献ガイドライン、開発計画へのリンクも含んでいます。言及されている将来の目標には、より多くのCIテストと、場合によっては追加のCLIコマンドが含まれます。