无法与 Docker 中的容器共享本地 windows 路径

Unable to share a local windows path with a container in Docker

Docker 的新功能,以及 运行 Docker Toolbox 在 Win 10 x64 上。

我正在尝试与容器(在本例中为 Portainer)共享(装载)本地 Windows 路径,以便容器将在我的 PC 本地保存所有配置设置,以便我可以随时升级容器,同时仍然保留它的配置。

我有 read/watched 很多教程、参考、文档、视频等,我正在尝试做他们似乎解释要做的事情,但是当我创建容器时安装了本地路径并且然后进入容器,设置一些配置设置,然后查看我挂载的 windows 路径,那里没有保存任何内容。

不确定是什么问题?

这是一个例子 docker cmd 我是 运行:

docker run -it -v /c/Servers/DockerConfigs/Portainer:/data :P portainer/portainer

据我了解,存储在容器 /data 文件夹中的任何内容也应该保存到主机 C:\Servers\DockerConfigs\Portainer 上的 Windows 文件夹中,但没有任何内容保存到那个 windows 文件夹 ...

我还尝试将主机上的一些文件复制到 windows 文件夹,然后在容器中查看 /data 文件夹以查看它们是否使用 ls -a 显示但同样,那里什么也没有出现...

有人知道我错过了什么吗?

确保 C 盘已启用共享:Right click on the whale icon -> Settings -> Shared Drives。还可以考虑为 Windows.

使用较新的 Docker 桌面

终于找到了答案,多亏了这个帖子:How to mount a host directory in a Docker container

原来最简单的方法(在 Windows 上)是确保从 Users 目录装载文件夹,并在启动容器时使用 --mount 命令。

docker run -P -it --name organizr --mount src="/c/Users/My PC/AppData/Roaming/DockerConfigs/Organizr",dst=/config,type=bind organizrtools/organizr-v2:latest

停止做任何事情,做这个:

  1. 卸载Docker桌面(稳定)
  2. 重启Windows机器
  3. 安装 Docker 桌面版(边缘)
  4. 问题已解决

我也遇到了同样的问题。所以,我做了以下步骤。

  • 首先,拉取windowsserver容器(可以根据需要拉取任何容器)。

  • 转到 docker 桌面,select 图片。

  • 可以看到你拉取的镜像了。 Select 运行,然后更改设置。也就是设置一个容器名称,你要挂载的机器路径,容器路径(为此,我简单地给了C:\data)

  • 然后保存设置

  • 转到 docker 桌面中的 containers/apps。

  • 可以看到新建的容器名称

*打开那个容器的cli >-(这个符号)

  • 然后将打开路径为 C:\ 的 cli。

*键入 dir。您可以在那里看到创建的文件夹数据。

现在,在本地机器的mounted文件夹中添加一些文件,看看是否反映在container的data文件夹中。