【问题标题】:Kubernetes persistent volume on Docker Desktop (Windows)Docker Desktop (Windows) 上的 Kubernetes 持久卷
【发布时间】:2019-06-02 01:59:17
【问题描述】:

我在 Windows 10 上使用 Docker Desktop。出于开发目的,我想将本地文件夹公开给容器。在 Docker 中运行容器时,我通过指定卷标志 (-v) 来执行此操作。

在 Kubernetes 中运行容器时如何实现相同的效果?

【问题讨论】:

    标签: docker kubernetes persistent-volumes


    【解决方案1】:

    您应该在 pod 的规范中使用 hostpath 卷类型从主机节点的文件系统挂载文件或目录,其中 hostPath.path 字段应采用以下格式以接受类似 Windows 的路径:

    • /W/fooapp/influxdb
    • //W/fooapp/influxdb
    • /////W/fooapp/influxdb

    请查看this github 问题,该问题解释了 Windows 上 Kubernetes 卷的特性。 我还假设您在 Docker for Windows 安装中启用了Shared Drives 功能。

    【讨论】:

    • 感谢您的详细解答。这对我有用,并且似乎是共享本地文件夹的最佳快捷方式。我设法使用“/c/temp/data”作为主机路径来共享我的文件夹。我之前曾尝试过,但事实证明我遇到了您提到的共享驱动器问题(因为我试图使用 Active Directory 帐户共享驱动器)。
    • 您好,这似乎解决了我的错误,无论如何,蒙台文件夹的路径不是我所期望的。例如使用path: /C/config 和type: DirectoryOrCreate 创建文件夹并且一切正常,但我不知道该文件夹在主机文件系统中的位置(它不在 C:/config 中)
    • 对于那些遇到我同样问题的人(以前的评论),检查这个:github.com/docker/for-win/issues/7023 解决方案基本上是使用:/run/desktop/mnt/ host/c/dir/otherDir(来源:stackoverflow.com/questions/62812948/…)
    【解决方案2】:

    使用 k8s 1.21.5,以下类型的路径对我有用:

    /run/desktop/mnt/host/c/PATH/TO/FILE
    

    挖掘这个 github 问题帮助我解决了使用哪个路径: https://github.com/kubernetes/kubernetes/issues/59876

    【讨论】:

    • 有人可以评论为什么这有效吗?它对我有用,但不知道为什么
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多