永久卷声明-挂载路径

时间:2020-04-04 20:04:20

标签: docker kubernetes docker-compose azure-files

我有一个pv,如下所示

apiVersion: v1
kind: PersistentVolume
metadata: 
  name: azurefile

spec:
  capacity:
    storage: 5Gi
  accessModes: 
    - ReadWriteMany
  storageClassName: azurefile
  azureFile:
    secretName: azure-secret
    shareName: cloudshare
    readOnly: false

和下面的pvc

apiVersion: v1
kind: PersistentVolumeClaim
metadata:  
  name: azurefile
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: azurefile
  resources:
    requests:
      storage: 2Gi  

在部署中,我具有以下

      volumes:      
        - name: my-storage
          persistentVolumeClaim:
              claimName: azurefile
      volumeMounts:
          - name:  my-storage
            mountPath:  "/home/myapp/newapp/"

我的理解是,在容器中的路径/home/myapp/newapp/下,azure文件共享cloudshare的内容将可访问。因此,无论我在cloudshare中拥有什么,都可以在这里看到。 pvcpv是否在cloudshare下创建文件夹?我问的原因是 我的WORKDIR中有一个dockerimage,实际上与下面的mountpath相同

WORKDIR /home/myapp/newapp/reta-app/

由于某种原因,正在reta-app中创建cloudshare文件夹。这是正常行为还是我做错了什么。

1 个答案:

答案 0 :(得分:2)

pvcpv是否在cloudshare下创建文件夹?

不。 Kubernetes PersistentVolume只是某处的一些存储,而PersistentVolumeClaim是引用PV(可能不立即存在)的一种方式。 Kubernetes绝对不对持久卷中的任何内容进行管理。它不会在启动时创建目录,将映像中的内容复制到卷中或其他任何内容。