我正在我的 Kind 集群上创建一个 Tekton 管道。我有一个Task
第step
一个使用 buildah 构建容器映像的地方。现在我想验证容器镜像是否真的被创建了。
所以在接下来step
,我尝试“查看”我的容器图像(使用ls
)。我已经将一个emptyDir
卷安装到Task
,并且我的安装路径是/var/lib/containers
(默认情况下 buildah 放置其工件的位置)。我试过ls /var/lib/containers
在下面做一个step
,但我得到了no such file or directory
回应。我想这是因为第二个step
发生在一个新容器中?但我认为该卷存在于我的所有容器中,用于这个特定的Task
. 如您所见,我对它的工作原理不是很了解。
那么有什么好的方法来验证我的容器镜像是真的创建的吗?例如,我可以在Task
完成后阻止 pod 终止,以便我可以进入容器并浏览文件系统或其他东西吗?
这是Task
定义:
---
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: build-and-deploy
spec:
params:
- name: contextDir
default: .
- name: destinationImage
default: "$(outputs.resources.app-image.url)"
- name: dockerFile
default: Dockerfile
resources:
inputs:
- name: repo
type: git
outputs:
- name: app-image
type: image
steps:
- name: build-image
image: quay.io/buildah/stable
workingDir: "/workspace/repo/$(inputs.params.contextDir)"
command: ["buildah", "bud", "--layers", "-f", "$(inputs.params.dockerFile)", "-t", "$(inputs.params.destinationImage)", "."]
volumeMounts:
- name: varlibcontainers
mountPath: /var/lib/containers
securityContext:
privileged: true
runAsUser: 0
volumes:
- name: varlibcontainers
emptyDir: {}