如何将文件夹从 docker 容器绑定到 Windows?

How do I bind a folder from a docker container to Windows?

高高,

我这里有一个非常具体的问题,3 天的搜索没有帮助。

我有一个docker文件运行宁我的(环境)可以这么说,目前它设置容器,从git和cd(WORKDIR)下载repo到说文件夹。然后它执行 NPM 启动(angular2)并将端口转发到我的主机(这样我就可以在我的主机浏览器上看到 localhost:4200)。

所有这一切都非常整洁,除了最后缺失的一块。我想 "mount & bind" repo 文件夹到 windows (主机),这样我就可以获取代码,在那里进行编辑。

我尝试在 docker 运行 [image-name] 期间使用 -v (host_path):(container_path) 但这会产生错误,其中容器从代码 254 (???????) 开始后立即退出,是的,我使用 -d(分离模式)

实际上这是我的整个 运行 命令..

docker run -dt -it --publish 4200:4200 --privileged -v (host_path):/(container_path) [image-name]

...我已经尝试过这种方法 ,它基本上是在 运行 将文件夹安装和/或绑定在容器内,这在一定程度上是成功的。我不知道主机上的 /mnt/test 目录在哪里(好像不存在)。

我尝试过的其他东西包括 Unison Rsync,这至少可以说是令人沮丧的,因为我认为它不知道另一个参数是主机路径。

如果可以请帮忙!

Here is a pic of how it exits when doing -v during docker run

由于您正在使用 windows 和 docker,这意味着 docker 使用 VirtualBox 来 运行 您的容器 "so to speak"。

Docker Toolbox 希望您的数据量位于 C:\Users

要添加新位置,您需要转到您的 VirtualBox 管理器 => 设置您的(可能是默认的)图像 => 共享文件夹,并添加您要安装的路径 (host_path)

另请参阅本指南,了解有关在 docker-machine 内部安装的更多信息作为替代方案:link