对我的工作目录使用 PersistentStorage 会删除所有内容吗?

Using PersistentStorage to my workdir deletes everything?

我正在使用 PersistentVolume 和 Claim,然后将其安装到我的 workdir '/server' 以使用 K8s 创建一个简单的 Minecraft 服务器,当我部署它时,jar 文件不再存在了吗?

deployment.yaml
---------------
    spec:
      volumes:
        - name: minecraft-pvstorage
          persistentVolumeClaim:
            claimName: minecraft-pvclaim
      containers:
        - name: minecraft-deployment
          image: localhost:32000/minecraft:1.18.2-new
          imagePullPolicy: Always
          ports:
            - containerPort: 30007
          volumeMounts:
            - name: minecraft-pvstorage
              mountPath: /server
pv.yaml
-------
apiVersion: v1
kind: PersistentVolume
metadata:
  name: minecraft-pv
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/minecraft"
pvclaim.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: minecraft-pvclaim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi

谁能帮我解决这个问题?当我从 deployment.yaml.

中删除 volumeMounts 时它起作用

当您将某些内容挂载到映像中已有内容的目录时,映像中的内容会变得模糊,即隐藏并替换为挂载的内容。

更多信息在这里:https://docs.docker.com/storage/bind-mounts/#mount-into-a-non-empty-directory-on-the-container

我想通了。

在我的 deployment.yaml 中,我为世界定义了一个坐骑,最终保存了所有世界数据。

deployment.yaml
--------------
volumeMounts:
    - name: minecraft-pvstorage
      mountPath: /server/1.18.2/world
      subPath: world