我正在使用在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

这也没有解决问题(语法错误) .

谢谢 .