Docker for Windows:如何使用图像目录的内容初始化卷?

问题描述 投票:1回答:1

我的图像有以下目录:C:\ MyDir。此目录包含一些在构建映像时创建的预定义内容。

我希望保持对此目录的更改,因此我尝试使用卷,但是当我执行容器创建时,C:\ MyDir为空。正如我从Docker文档中所理解的那样,如果我使用匿名卷,C:\ MyDir的实际内容(来自图像)将在创建期间反映在卷中,因此在容器内部应该存在,但是它们不是 - 似乎没有从图像中复制文件。当然,在容器内部写入一些新文件后,文件会反映在卷中。

关于如何实现这一点的任何想法? - 在保持图像中的原始文件的同时保持运行更改?

docker docker-for-windows
1个回答
1
投票

目前,Docker for Windows不支持此行为。这个问题目前正由GitHub上的Windows: cannot put data in volumes with docker build问题进行跟踪。

目前,最接近的选择是做这样的事情:

#escape=`
FROM microsoft/windowsservercore
SHELL [ "powershell", "-Command" ]
COPY ".\starter-config" "C:\starter-config"
CMD if ((Get-ChildItem 'C:\config').Length -eq 0) {`
        Copy-Item 'C:\starter-config\*' 'C:\config\';`
    };`
    & 'C:\RunTheServer.ps1'
© www.soinside.com 2019 - 2024. All rights reserved.