概要
buildah を使ってみました
基本は docker のように使えますが rootless 実行するのがかなり面倒そうです
環境
- Ubuntu 24.04
- buildah 1.33.7
- docker 28.5.1
インストール
- sudo apt -y update
- sudo apt -y install buildah
apt の公式リポジトリからインストールできますが最新版はインストールできません
イメージのビルド (rootモード)
- sudo buildah build -f Dockerfile -t lab .
sudo 付きは root モードなのであまりお勧めできません
イメージのビルド (rootless モード)
不明
Error during unshare(CLONE_NEWUSER): Permission denied
ERRO[0000] parsing PID "": strconv.Atoi: parsing "": invalid syntax
ERRO[0000] (Unable to determine exit status)
になり実行できませんでした unshare --user --map-root-user --mount あたりが実行できないと rootless 実行は厳しいです
確認
- sudo buildah images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/lab latest 6b467d5adf55 31 seconds ago 129 MB
docker.io/library/python 3.12.11-slim-bookworm 688a685f6a1f 2 months ago 129 MB
イメージのプッシュ
- sudo buildah login your-container-registry-address
- sudo buildah tag localhost/lab your-container-registry-address/username/reponame
- sudo buildah push your-container-registry-address/username/reponame
最後に
基本は docker コマンドと同様に使えます
rootless 実行が良い点なのですが rootless 実行できるようにするまでがかなり大変そうなのでそこが何ともといった感じです
当然ですが docker デーモンがなくても buildah を使ってビルドはできるのでそれだけでも kaniko の代用にはなりそうです
- sudo systemctl stop docker
- sudo systemctl stop docker.socket
0 件のコメント:
コメントを投稿