「Buildah」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(翻訳)
 
(→‎インストール: 情報を更新)
22行目: 22行目:
   
 
== インストール ==
 
== インストール ==
  +
{{Pkg|buildah}} パッケージを[[インストール]]してください。また、開発版を {{Aur|buildah-git}} パッケージでインストールすることもできます。
 
  +
{{Pkg|buildah}} および {{Pkg|podman}} パッケージを [[インストール]] して下さい、または開発バージョンの場合は {{Aur|buildah-git}}
  +
  +
[[#特権のないコンテナの構築サポートを有効にする|非 root ユーザー]] として実行する場合は、パフォーマンスとストレージスペースの効率を向上させるために、{{Pkg|fuse-overlayfs}} もインストールします。
  +
  +
{{Note|[https://github.com/containers/buildah/blob/master/docs/tutorials/01-intro.md#rootless-user-configuration 公式 buildah インストールガイド] は、ここでは、podman をインストールする前に、fuse-overlayfs をインストールするようアドバイスされる [https://github.com/containers/libpod/blob/master/docs/tutorials/rootless_tutorial.md#ensure-fuse-overlayfs-is-installed podman セクションを指します。]}}
   
 
== 設定 ==
 
== 設定 ==

2024年2月14日 (水) 04:05時点における版

関連記事

BuildahOpen Container Initiative (OCI) コンテナイメージの生成を補助するツールです。Buildah パッケージが提供するコマンドラインツールで以下のことができます:

  • スクラッチから、または既存イメージからコンテナを作成
  • 動作中のコンテナから、あるいは Dockerfile からイメージを作成
  • OCI イメージ形式や伝統的な docker イメージ形式でイメージを作成可能
  • 動作中のコンテナのルートファイルシステムをマウントして操作
  • 動作中のコンテナのルートファイルシステムをアンマウント
  • コンテナのルートファイルシステムの中身をファイルシステムレイヤーとして使用して新しいイメージを作成
  • 動作中のコンテナあるいはイメージを削除
  • ローカルコンテナの名前を変更

コンテナの生成で一番有名な対抗アプリケーションは docker です。Buildah はコンテナの実行には使えません。実行したい場合は podman があります。

インストール

buildah および podman パッケージを インストール して下さい、または開発バージョンの場合は buildah-gitAUR

非 root ユーザー として実行する場合は、パフォーマンスとストレージスペースの効率を向上させるために、fuse-overlayfs もインストールします。

ノート: 公式 buildah インストールガイド は、ここでは、podman をインストールする前に、fuse-overlayfs をインストールするようアドバイスされる podman セクションを指します。

設定

非特権コンテナの生成のサポートを有効化 (任意)

Buildah を使って非特権コンテナを生成したい場合、以下の設定が必要です。

まず、カーネルにユーザー名前空間のサポートが必要です (CONFIG_USER_NS が有効になっているカーネル)。Arch Linux のカーネルは全て CONFIG_USER_NS に対応しています。しかしながら、セキュリティ上の問題から、デフォルトの Arch カーネルではユーザー名前空間は root ユーザーでのみ有効になっています。

通常ユーザーで非特権コンテナを実行するために sysctl 設定 kernel.unprivileged_userns_clone を有効にしてください。sysctl kernel.unprivileged_userns_clone=1 を実行することで実行中のセッションで有効にしたり、sysctl.d(5) で永続的に有効化できます。

そして、/etc/subuid/etc/subgid を作成して、コンテナを実行するユーザーのコンテナ化する uid/gid の組み合わせのマッピングを作ります。root ユーザー (と systemd システムユニット) と buildah ユーザーの例:

/etc/subuid
root:100000:65536
buildah:100000:65536
/etc/subgid
root:100000:65536
buildah:100000:65536

参照