Docker Desktop for Mac 上持久卷的 Kubernetes 存储位置在哪里?

Jas*_*n M 8 docker kubernetes docker-volume persistent-volumes

我不确定我是否有配置错误,或者我只是不知道在哪里查找,但我似乎无法找到使用这些配置存储我的文件的位置

apiVersion: v1
kind: PersistentVolume
metadata:
  name: tmp-storage
spec:
  storageClassName: manual
  capacity:
    storage: 2Gi
  accessModes:
    - ReadWriteMany
  hostPath:
    path: /tmp/netes
    type: Directory
Run Code Online (Sandbox Code Playgroud)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: tmp-storage-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
Run Code Online (Sandbox Code Playgroud)

部署

spec:
  volumes:
    - name: abcd
      persistentVolumeClaim:
       claimName: tmp-storage-claim 

  containers:
    ...
    volumeMounts:
      - mountPath: '/tmp'
        name: abcd
Run Code Online (Sandbox Code Playgroud)

我尝试使用 访问 docker 桌面虚拟机,docker run -it --rm --privileged --pid=host justincormack/nsenter1但里面什么也没有/tmp

我的电脑里面也什么都没有/tmp

我也尝试过查看,/Users/username/.docker/Volumes/但该位置没有卷目录

Mik*_*iak 0

根据这篇文章,解决方案应该如下:

Mac 版 docker 在后台运行一个虚拟机,并将其隐藏起来,让事情变得
更简单。更简单,除非你想更深入地挖掘。如果您想访问 Docker 创建的持久卷,您需要先登录虚拟机。

  1. 我们需要通过执行命令来“筛选”Docker 驱动程序: screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
  2. 您应该看到一个空白屏幕,只需按 Enter 即可,过了一会儿,您应该看到命令行提示符:
    docker-desktop:~#
  3. 现在您已进入 Docker 的虚拟机,您可以通过键入以下命令进入卷目录: cd /var/lib/docker/volumes
  4. 利润,你来了!
  5. 如果您需要将文件从 MacOS 主机传输到 Docker 主机(例如将文件放入 docker 卷),请使用主机 (mac os) 和 Docker 主机 (Docker VM) 之间共享的目录,您可以在File下找到此类目录的列表 Docker for Mac 应用程序的共享选项卡。

注意:文件共享用于以一种方式共享文件 - 从主机 (Mac) 到容器。您不会以这种方式看到存储在持久卷中的所有文件。您只会看到专门与容器共享的文件。要查看整个持久卷,您需要按照上述步骤操作。

也可以看看: