【问题标题】:Where are my volumes mounted when using Docker Desktop and WSL2?使用 Docker Desktop 和 WSL2 时,我的卷安装在哪里?
【发布时间】:2021-11-10 14:57:26
【问题描述】:

我正在使用带有 WSL2 (Ubuntu 20.04) 的 Docker Desktop 和 Docker Kubernetes。我有一个永久卷的 yaml 文件,该文件将卷挂载在 /mnt/data 中。这个位置在哪里,因为当我在 WSL 中执行“ls /mnt/data”时什么都没有,即使是 sudo?

hostPath:
  path: "/mnt/data"

ls /mnt/data

ls: cannot access '/mnt/data': 没有这样的文件或目录

干杯。

【问题讨论】:

    标签: docker kubernetes volume wsl-2 persistent-volumes


    【解决方案1】:

    您可能需要在路径中添加您尝试访问的磁盘。例如,如果您尝试访问磁盘 C:

    路径:“/mnt/c/data”

    您可以通过进入 /mnt 路径并执行 ls 来仔细检查,以便查看所有目录。

    【讨论】:

    • 嗨,阿尔瓦罗。存储已被配置并用于数据库,这在部署/容器之间持续存在,但我不知道它的存储位置。如果我将路径更改为 /mnt/c/data,那么它将再次存储在这个隐藏位置,而不是 /mnt/c/data 并在 WSL 中可见。 “/mnt/”中只有 C: 和 WSL 共享,因此它看起来不会隐藏在 mnt 中。
    • 我不知道我是否正确理解了您的问题,但是您的数据存储在您创建的 docker 容器中,而不是您的 wsl。在你的情况下,如果你像我之前提到的那样访问你的容器,你应该能够做到 (cd /mnt/data) 并且应该有所有的数据
    【解决方案2】:

    数据不存储在您的本地机器上,而是存储在运行集群的工作节点上,例如minikube 虚拟机。您需要连接到该机器才能找到数据。

    例如对于 minikube:

    minikube ssh
    ls /mnt/data
    

    【讨论】:

    • 他没有写他正在使用 minikube,对吧?
    • 上次我检查 Docker Desktop 时提到 minikube 在 Windows 上运行 Kubernetes,但那已经有一段时间了。事实上,数据将存储在作为工作节点的“vm”上。更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 2022-12-13
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多