K8s 不在持久卷上挂载文件
K8s doesn't mount files on Persistent Volume
我有一个 Docker 图像,我想在 Kubernetes 上共享一个卷(持久卷)上的整个目录。
Docker文件
FROM node:carbon
WORKDIR /node-test
COPY hello.md /node-test/hello.md
VOLUME /node-test
CMD ["tail", "-f", "/dev/null"]
基本上它复制一个文件 hello.md
并使其成为图像的一部分(我们称之为 my-image
)。
在 Kubernetes 部署配置中,我从 my-image
创建一个容器,并将特定目录共享到一个卷。
Kubernetes 部署
# ...
spec:
containers:
- image: my-user/my-image:v0.0.1
name: node
volumeMounts:
- name: node-volume
mountPath: /node-test
volumes:
- name: node-volume
persistentVolumeClaim:
claimName: node-volume-claim
我希望在持久卷的目录中看到 hello.md
文件,但什么也没有显示。
如果我不将容器绑定到卷,我可以看到 hello.md
文件(带有 kubectl exec -it my-container bash
)。
我所做的与 official Kubernetes example 所做的没有什么不同。事实上,我可以更改 mountPath
并切换到官方 Wordpress 图像,它会按预期工作。
如何Wordpress image将所有文件复制到卷目录中?
我的 Wordpress Docker 文件中缺少什么?
为了不覆盖现有的files/content,可以使用子路径挂载现有Container文件系统中的testdir目录(下例)。
volumeMounts:
- name: node-volume
mountPath: /node-test/testdir
subPath: testdir
volumes:
- name: node-volume
persistentVolumeClaim:
claimName: node-volume-claim
您可以在此处找到更多信息using-subpath
我有一个 Docker 图像,我想在 Kubernetes 上共享一个卷(持久卷)上的整个目录。
Docker文件
FROM node:carbon
WORKDIR /node-test
COPY hello.md /node-test/hello.md
VOLUME /node-test
CMD ["tail", "-f", "/dev/null"]
基本上它复制一个文件 hello.md
并使其成为图像的一部分(我们称之为 my-image
)。
在 Kubernetes 部署配置中,我从 my-image
创建一个容器,并将特定目录共享到一个卷。
Kubernetes 部署
# ...
spec:
containers:
- image: my-user/my-image:v0.0.1
name: node
volumeMounts:
- name: node-volume
mountPath: /node-test
volumes:
- name: node-volume
persistentVolumeClaim:
claimName: node-volume-claim
我希望在持久卷的目录中看到 hello.md
文件,但什么也没有显示。
如果我不将容器绑定到卷,我可以看到 hello.md
文件(带有 kubectl exec -it my-container bash
)。
我所做的与 official Kubernetes example 所做的没有什么不同。事实上,我可以更改 mountPath
并切换到官方 Wordpress 图像,它会按预期工作。
如何Wordpress image将所有文件复制到卷目录中?
我的 Wordpress Docker 文件中缺少什么?
为了不覆盖现有的files/content,可以使用子路径挂载现有Container文件系统中的testdir目录(下例)。
volumeMounts:
- name: node-volume
mountPath: /node-test/testdir
subPath: testdir
volumes:
- name: node-volume
persistentVolumeClaim:
claimName: node-volume-claim
您可以在此处找到更多信息using-subpath