【问题标题】:Populating a volume using a container does not work in Docker on Windows使用容器填充卷在 Windows 上的 Docker 中不起作用
【发布时间】:2020-07-13 22:03:55
【问题描述】:

我正在按照"Populate a volume using a container" 下此 Docker 官方页面上的说明,尝试在新启动的容器中创建一个填充了现有文件的新卷。我运行了以下命令,期望容器上 C:\Data 下的现有文件和文件夹在卷下可用:

docker run -it --name=test -v C:\Data dataimage/test1:version1

新卷似乎已成功创建。但是,导航到容器上的 C:\Data 文件夹显示它完全是空的。如果我在没有-v option 的情况下运行上述命令,那么我可以在同一位置看到原始文件。

这是 Docker on Windows 中完全支持的功能吗?如果是这样,有人可以说明我可能做错了什么吗?

我使用的 Docker Engine 版本是 v19.03.8。我的主机操作系统是 Windows Server 2019。

【问题讨论】:

    标签: windows docker docker-volume


    【解决方案1】:

    试试这个:

    docker run -it --name=test -v '/c/Data:/data' dataimage/test1:version1
    

    这应该将 Windows 主机上的 C:\Data 文件夹与容器中的 /data 文件夹同步。如果/data 不是容器中您想要的文件夹名称,请根据需要进行更改。

    【讨论】:

    • 可能有些混乱。 “dataimage/test1:version1”实际上是我使用的图像的名称,C:\Data 是容器内我尝试创建卷的路径。
    • @Yoshi 啊哈,明白了。更新了我的答案。 ?
    • 感谢您的评论 :) 不幸的是,它实际上并没有工作。我认为这实际上并不是我的目标。在我的理解中,您建议的语法是用于绑定挂载,您可以在其中创建主机的本地文件系统和容器的文件系统之间的映射。我真正想做的是创建一个卷并用容器的现有内容填充。然后我想使用--volumes-from 选项从另一个容器(上面未提及)访问该卷。
    猜你喜欢
    • 2018-11-30
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 2017-01-18
    • 2012-02-24
    • 1970-01-01
    • 2017-12-02
    • 2019-07-28
    相关资源
    最近更新 更多