代码之家  ›  专栏  ›  技术社区  ›  a.barbieri

如何访问桌面docker上的PersistentVolume文件?

  •  0
  • a.barbieri  · 技术社区  · 7 年前

    我想访问和编辑Kubernetes中的文件 在我的本地计算机(macOS)上,但我不知道在哪里可以找到这些文件!

    我指的是我的 hostPath 到 /tmp/wordpress-volume 但我哪儿也找不到。我错过的秘密是什么

    我在一个 桌面的docker Version 2.0.0.2 (30215) .

    持久卷

    kind: PersistentVolume
    metadata:
      name: wordpress-volume
    spec:
      # ...
      hostPath:
        path: /tmp/wordpress-volume
    

    持久体积瞄准

    kind: PersistentVolumeClaim
    metadata:
      name: wordpress-volume-claim
    # ...
    

    部署

    kind: Deployment
    metadata:
      name: wordpress
    # ...
    spec:
      containers:
      - image: wordpress:4.8-apache
        # ...
        volumeMounts:
        - name: wordpress-volume
          mountPath: /var/www/html
      volumes:
      - name: wordpress-volume
        persistentVolumeClaim:
          claimName: wordpress-volume-claim
    
    0 回复  |  直到 7 年前
        1
  •  4
  •   a.barbieri    7 年前

    多亏了@aman tuladhar和在网上浪费的几个小时,我发现你只需要确保 storageClassName 持久卷 和 .

    根据 documentation 库伯内特斯 动态生成 不考虑静态声明的字符串,只需设置一个空字符串 " " .

    在我的情况下,我已经设定 storageClassName: manual

    持久卷

    kind: PersistentVolume
    metadata:
      name: wordpress-volume
    spec:
      # ...
      storageClassName: manual
      hostPath:
        path: /tmp/wordpress-volume
    

    kind: PersistentVolumeClaim
    metadata:
      name: wordpress-volume-claim
    spec:
      storageClassName: manual
      # ...
    

    这是开箱即用的 docker-for-desktop mountPath 设置为绝对路径)。

    参考文献:

        2
  •  1
  •   A0__oN    7 年前

    首先你要记住的是库伯内特斯 minikube 迷你库贝 它本身在虚拟机上运行。所以该路径不会在主机上,而是虚拟机中的路径。

    但是 迷你库贝 我们有简单的方法。首先必须将主机目录装载到 .

    gcePersistentDisk )

    minikube mount /path/to/dir/to/mount:/vm-mount-path

    现在

    kind: PersistentVolume
    metadata:
      name: wordpress-volume
    spec:
      # ...
      hostPath:
        path: /vm-mount-path
    

    Follow this minikube documentation for more detail