我正在使用在Windows 10上创建的docker(docker用于linux) .
此外,使用docker-compose(版本3.4)将docker之外的卷映射到docker容器中 .
我在另一台计算机上有一个共享文件夹,我想在docker中使用它 .
我检查该文件夹的访问权限,我可以从Docker正在运行的计算机上访问它 .
// ip_addr中/ shared_folder
在docker-compose中,我写道:
volumes:
- //1.2.3.4/my_folder:my_docker_folder
我发现了网络声明的一些语法 . 我不知道我该怎么写?
volumes:
- /my_folder:my_docker_folder
networks:
frontend:
ipv4_address: 1.2.3.4
并且ip 1.2.3.4是my_folder的ip?
...但是这种语法可能不正确,或者我应该运行一些命令来正确共享文件夹 .
如何将其他计算机共享文件夹映射到docker .
I have tried several things, also mapping a symbolic link.
我正在尝试在Windows 10中创建一个符号链接并将其附加到docker,但这对我没有多大帮助,因为我遇到异常 .
在Windows命令行中我做了:
mklink /D c:\test_ext \\ip\shared_folder
运行docker时(我有docker社区版本18.06.1-ce-win73(19507) - linux容器) .
在命令行中,我试图运行alpine(这也发生在基于linux映像的其他docker上):
docker run -i -t -v c:\ test_ext:/ data:rw alpine / bin / sh我收到错误:
docker:来自守护程序的错误响应:创建安装源路径'/ host_mnt / c / test_ext'时出错:mkdir / host_mnt / c / test_ext:文件存在 .
这只发生在外部IP上 .
我看到的是,文件夹子文件夹文件是以完全权限共享的 .
我尝试了一些工作,例如:docker volumes prune,但这没有多大帮助 .
为什么会出现错误消息,我该如何解决?
我发现了一个可能有帮助的替代方案:
docker volume create \
--driver local \
--opt type=nfs \
--opt o=addr=ip_address,rw \
--opt device=:/myfolder
my_volume
这也没有解决问题(语法错误) .
谢谢 .