# 009-在GitlabRunner主机部署Buildah镜像构建工具

作者:Odboy (opens new window)

本站地址:https://blog.odboy.cn (opens new window)

# 简述

Kubernetes宣布自 v1.20 起放弃对 Docker 的支持,在未来版本将全面弃用 官方文章

Kubernetes在安装过程中会直接使用containerd作为底层容器服务,而containerd自带的ctr命令或者第三方工具crictl命令都没有构建镜像的功能

所以在构建镜像的操作中,还是需要启动docker守护进程,并使用docker build来完成构建镜像操作。

由此,需要一个可以摆脱docker服务的工具,就是 Buildah 工具

Buildah 是一个命令行工具,可以方便、快捷的构建与开放容器标准Open Container Initiative(OCI)兼容的容器镜像,这意味着其构建的镜像与 Docker 和 Kubernetes 兼容。

该工具可作为 Docker 守护进程 docker build 命令(即使用传统的 Dockerfile 构建镜像)的一种简单drop-in替换,而且更加灵活,允许构建镜像时使用你擅长的工具。

Buildah 可以轻松与脚本集成并生成流水线pipeline,最好之处在于构建镜像不再需要运行容器守护进程。
1
2
3
4
5
6
7
8
9
10
11
12
13

# 官方文档

# 安装文档

# 部署节点

192.168.235.105

# 写hosts记录

cat << EOF >> /etc/hosts
192.168.235.103 kenaito-redis.odboy.local
192.168.235.103 kenaito-mysql.odboy.local
192.168.235.103 kenaito-minio.odboy.local
192.168.235.103 kenaito-register.odboy.local
192.168.235.104 kenaito-gitlab.odboy.local
EOF
1
2
3
4
5
6
7

# 部署建议

这个看个人/企业所需,用docker也好、buildah亦或是kaniko也罢

# CentOS7安装

yum -y install buildah -y
1

# 使用教程

Buildah https://github.com/containers/buildah/tree/main/docs/tutorials (opens new window)

# 常用命令

# 列出所有镜像
buildah images

# 查看没有正在工作的容器
buildah containers

# 拉取镜像
build pull [imageName]

# 镜像构建
buildah build-using-dockerfile -f [Dockerfile文件] -t [镜像地址]
## eg.
buildah build-using-dockerfile -f Dockerfile -t kenaito-registry.odboy.local:15000/odboy/kenaito:online_v20241114
buildah bud -f Dockerfile -t kenaito-registry.odboy.local:15000/odboy/kenaito:online_v20241114

# 镜像标签
buildah tag [imageName/imageId] [镜像地址]
## eg.
buildah tag xxxxxxx kenaito-registry.odboy.local:15000/odboy/kenaito:release_v20241114

# 镜像推送
buildah push [镜像地址]
## eg.
buildah push kenaito-registry.odboy.local:15000/odboy/kenaito:online_v20241114
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

jietu

最近更新: 2024-12-19
2017 - 武林秘籍   |