【问题标题】:Docker run -v to link volume from windows host to linux containerDocker 运行 -v 将卷从 Windows 主机链接到 linux 容器
【发布时间】:2019-07-19 23:14:41
【问题描述】:

我的场景是一个运行 windows 的虚拟机,我在其中使用 docker 和 linux 容器。

我的目的是启动一个 sql server 容器,但我很难拥有持久数据。

我的问题是如何使用命令 run -v 将主机文件夹与容器链接起来,并给出解释。

我已阅读here,但很抱歉我完全不明白。 docker 文档也没有明确说明。

我的尝试失败了:

docker create volume sql-data
docker run -v sql-data:C:/temp/

Error response from daemon: invalid mode: /temp/

我读到的是一个已知错误,但找不到解决方案,也找不到有关该错误的更新信息。

提前致谢。

【问题讨论】:

    标签: docker


    【解决方案1】:

    您的问题直接在 docker 文档see here 中得到解决(我建议您完整阅读Mount volume 部分,它相当简短)。实际上,文档特别指出您的语法不起作用。为了让您的命令正常工作,您的目标路径应该是以下之一(来自同一链接):

    一个不存在的或空的目录;或 C: 以外的驱动器。进一步, 绑定挂载的源必须是本地目录,而不是文件。

    此外,文档指定:

    在 Windows 上,必须使用 Windows 样式的语义指定路径。

    将上述语句应用于您的命令,它应该可以工作。我不是 Windows 人,但我会尝试:

    docker run -v sql-data:c:\emptyDir
    

    【讨论】:

    • 感谢您的帮助。它仍然不起作用。问题是由您可以想象的 Windows 路径样式引起的。这是我找到的最好的信息。但我仍在尝试将它带到我的场景中。 stackoverflow.com/a/52887435/7733724如果我找到解决方案,我会发布。谢谢:)
    • 您是否收到建议的命令错误?您的 OP 中是否存在相同类型的错误? @Sam,sql-data 也是文件还是目录? docker 文档指出源必须是目录而不是文件。
    • 是的,同样的错误。我试图将 \ 更改为 / 并颠倒过来,试图转义字符.. 典型的东西。但是 nop :P 实际上我正在尝试链接推荐并使用 Kinematic 来看看它是否给我带来了一点光明。谢谢
    猜你喜欢
    • 2022-01-27
    • 1970-01-01
    • 2022-10-06
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多