RedHat 代替 Docker 使用 Buildah 构建镜像,推送,登录等使用教程

一、介绍

我们需要更专业的工具来构建镜像。buildah 的思想不再局限通过一个 Containerfile 去描述一个镜像,而是为镜像构建提供了一种新的思路,你可以很轻松的复刻任何一个容器为镜像。

我这里主要用于 k8S 1.20+ 自动化构建镜像使用

二、使用方法

2.1、安装 Buildah

# Centos
yum install buildah
# Debian Testing/Bullseye or Unstable/Sid
apt-get update
apt-get -y install buildah
# Arch Linux
pacman -S buildah
# Fedora
dnf -y install buildah
# openSUSE
zypper install buildah

2.2、测试 DockerFile

cat <<'EOF'> Dockerfile
ARG version=3.14
FROM alpine:$version
RUN touch /root/akiraka
EOF

2.3、构建镜像

root@AKA:~# buildah build-using-dockerfile -t aka:3.14 .
STEP 1: FROM alpine:3.14
STEP 2: RUN touch /root/akiraka
STEP 3: COMMIT sss:aaa
Getting image source signatures
Copying blob e2eb06d8af82 skipped: already exists
Copying blob 1f19af64367d done
Copying config 9c171e8ed6 done
Writing manifest to image destination
Storing signatures
9c171e8ed6e4914a70948caea9e1b677ee4bf7488f1049cc322aab0d4b93105f
9c171e8ed6e4914a70948caea9e1b677ee4bf7488f1049cc322aab0d4b93105f

2.4、查看镜像列表

buildah images

2.5、查看镜像列表

root@AKA:~# buildah images
REPOSITORY                 TAG                  IMAGE ID       CREATED          SIZE
localhost/aka              3.14                 1c890e724108   13 seconds ago   5.87 MB
docker.io/library/alpine   3.14                 14119a10abf4   7 weeks ago      5.87 MB

2.6、删除镜像

root@AKA:~# buildah rmi -f 9c171e8ed6e4
9c171e8ed6e4914a70948caea9e1b677ee4bf7488f1049cc322aab0d4b93105f

2.7、登录镜像仓库

buildah login -u 账号 -p 密码 仓库地址

2.8、更改镜像 Tag

root@AKA:~# buildah tag 1c890e724108 registry.cn-hangzhou.aliyuncs.com/g-aka/nginx:test
root@AKA:~# buildah images
REPOSITORY                                      TAG                  IMAGE ID       CREATED         SIZE
localhost/aka                                   3.14                 1c890e724108   4 minutes ago   5.87 MB
registry.cn-hangzhou.aliyuncs.com/g-aka/nginx   test                 1c890e724108   4 minutes ago   5.87 MB
docker.io/library/node                          16.11.1-alpine3.14   2812ca50e8f3   6 days ago      112 MB
docker.io/library/alpine                        3.14                 14119a10abf4   7 weeks ago     5.87 MB

2.9、推送镜像

root@AKA:~# buildah push registry.cn-hangzhou.aliyuncs.com/g-aka/nginx:test
Getting image source signatures
Copying blob e2eb06d8af82 done
Copying blob af097bd8ee43 done
Copying config 1c890e7241 done
Writing manifest to image destination
Storing signatures

版权声明:
作者:Akiraka
链接:https://www.akiraka.net/linux/1226.html
来源:Akiraka
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
RedHat 代替 Docker 使用 Buildah 构建镜像,推送,登录等使用教程
一、介绍 我们需要更专业的工具来构建镜像。buildah 的思想不再局限通过一个 Containerfile 去描述一个镜像,而是为镜像构建提供了一种新的思路,你可以很轻松……
<<上一篇
下一篇>>
文章目录
关闭
目 录