docker-compose其他机器的共享量

时间:2018-12-06 21:51:05

标签: docker docker-compose share

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

这也不能解决问题(语法错误)。

谢谢。

1 个答案:

答案 0 :(得分:-2)

我认为你需要付出。接近音量 volumes: - ./my_folder:my_docker_folder