构建容器镜像:Buildah的集成与应用
1. 绑定挂载存储运行Buildah容器
在高度隔离的场景中,DevOps团队采用零信任方法,每个构建容器都应有自己独立的存储,在构建开始时填充,完成后销毁。使用SELinux MCS安全机制可以轻松实现隔离。
操作步骤如下:
1. 创建一个临时目录来存储构建层,并生成一个随机后缀以避免多个构建冲突:
BUILD_STORE=/var/lib/containers-$(echo $RANDOM | md5sum | head -c 8)
mkdir $BUILD_STORE
- 运行构建并将新目录绑定挂载到容器内的
/var/lib/containers文件夹,并添加:Z后缀以确保多类别安全隔离:
podman run --device /dev/fuse \
-v ./build:/build:z \
-v $BUILD_STORE:/var/lib/containers:Z \
-v /run/containers/0/auth.json:/auth.json \
quay.io/buildah/stable \
bash -c 'set -euo pipefail; \
buildah build -t registry.example.com/test4 /build; \
b
超级会员免费看
订阅专栏 解锁全文
43

被折叠的 条评论
为什么被折叠?



