我正在使用在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的操作。
我已经尝试了几种方法,还映射了符号链接。
我正在尝试在Windows 10中创建符号链接并将其附加到docker,但这对我没有多大帮助,因为我遇到了异常。
在Windows命令行中,我做了:
mklink /D c:\test_ext \\ip\shared_folder
运行docker时(我有docker社区版Version 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 volume prune,但这并没有太大帮助。
为什么显示该错误消息,我该如何解决?
我还发现了一种可能有帮助的替代方法:
docker volume create \
--driver local \
--opt type=nfs \
--opt o=addr=ip_address,rw \
--opt device=:/myfolder
my_volume
这也不能解决问题(语法错误)。
谢谢。
答案 0 :(得分:-2)
我认为你需要付出。接近音量
volumes:
- ./my_folder:my_docker_folder