我有一个Docker镜像,我通过执行docker save -o flaskapp.tar flaskapp:v1
将它导入到containerd
现在我使用ctr images import flaskapp.tar
以下的命令将其导入到containerd中
之后ctr images list
显示所需的图像
root@test:/home/test/demo-flask-app# ctr images ls
REF TYPE DIGEST SIZE PLATFORMS LABELS
docker.io/library/flaskapp:v1 application/vnd.docker.distribution.manifest.v2+json sha256:eecf6ae069cb7ec4bc6126a0fbe5e7ef1b136ac42e3466ee7e029342630f5321 530.4 MiB linux/amd64 -
root@test:/home/test/demo-flask-app#
部署yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: flask-proj-deployment
namespace: default
labels:
app: flask-proj
spec:
replicas: 1
selector:
matchLabels:
app: flask-proj
template:
metadata:
labels:
app: flask-proj
spec:
containers:
- name: flask-proj
image: docker.io/library/flaskapp:v1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5001
当我在k8s部署YAML中使用docker.io/library/flaskapp:v1
时,k8s无法提取映像。这是怎么回事?
1条答案
按热度按时间hof1towb1#
containerd
容器是命名空间的,它们在Kubernetes的k8s.io
命名空间中运行。因此,图像需要存在于k8s.io
containerd命名空间中才能工作。您可以尝试以下操作进行确认:如果你不想在每个命令中都传递命名空间,你可以用
CONTAINERD_NAMESPACE
覆盖它: