无法与 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
停止做任何事情,做这个:
- 卸载Docker桌面(稳定)
- 重启Windows机器
- 安装 Docker 桌面版(边缘)
- 问题已解决
我也遇到了同样的问题。所以,我做了以下步骤。
首先,拉取windowsserver容器(可以根据需要拉取任何容器)。
转到 docker 桌面,select 图片。
可以看到你拉取的镜像了。 Select 运行,然后更改设置。也就是设置一个容器名称,你要挂载的机器路径,容器路径(为此,我简单地给了C:\data)
然后保存设置
转到 docker 桌面中的 containers/apps。
可以看到新建的容器名称
*打开那个容器的cli >-(这个符号)
- 然后将打开路径为 C:\ 的 cli。
*键入 dir。您可以在那里看到创建的文件夹数据。
现在,在本地机器的mounted文件夹中添加一些文件,看看是否反映在container的data文件夹中。
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.
终于找到了答案,多亏了这个帖子: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
停止做任何事情,做这个:
- 卸载Docker桌面(稳定)
- 重启Windows机器
- 安装 Docker 桌面版(边缘)
- 问题已解决
我也遇到了同样的问题。所以,我做了以下步骤。
首先,拉取windowsserver容器(可以根据需要拉取任何容器)。
转到 docker 桌面,select 图片。
可以看到你拉取的镜像了。 Select 运行,然后更改设置。也就是设置一个容器名称,你要挂载的机器路径,容器路径(为此,我简单地给了C:\data)
然后保存设置
转到 docker 桌面中的 containers/apps。
可以看到新建的容器名称
*打开那个容器的cli >-(这个符号)
- 然后将打开路径为 C:\ 的 cli。
*键入 dir。您可以在那里看到创建的文件夹数据。
现在,在本地机器的mounted文件夹中添加一些文件,看看是否反映在container的data文件夹中。