「Buildah」の版間の差分
(翻訳) |
(→インストール: 情報を更新) |
||
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時点における版
Buildah は Open Container Initiative (OCI) コンテナイメージの生成を補助するツールです。Buildah パッケージが提供するコマンドラインツールで以下のことができます:
- スクラッチから、または既存イメージからコンテナを作成
- 動作中のコンテナから、あるいは Dockerfile からイメージを作成
- OCI イメージ形式や伝統的な docker イメージ形式でイメージを作成可能
- 動作中のコンテナのルートファイルシステムをマウントして操作
- 動作中のコンテナのルートファイルシステムをアンマウント
- コンテナのルートファイルシステムの中身をファイルシステムレイヤーとして使用して新しいイメージを作成
- 動作中のコンテナあるいはイメージを削除
- ローカルコンテナの名前を変更
コンテナの生成で一番有名な対抗アプリケーションは docker です。Buildah はコンテナの実行には使えません。実行したい場合は podman があります。
インストール
buildah および podman パッケージを インストール して下さい、または開発バージョンの場合は buildah-gitAUR
非 root ユーザー として実行する場合は、パフォーマンスとストレージスペースの効率を向上させるために、fuse-overlayfs もインストールします。
設定
非特権コンテナの生成のサポートを有効化 (任意)
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