docker-撰写他机共享卷

docker-compose share volume of other machine

我正在使用在 windows 10 上创建的 docker(docker 用于 linux)。

此外,使用 docker-compose(版本 3.4)将 docker 之外的卷映射到 docker 容器中。

我在另一台计算机上有一个共享文件夹,我想在 docker 中使用它。

我检查了那个文件夹的访问权限,我可以从 docker 是 运行ning 的计算机访问它。

//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。

我试了好几样东西,还映射了一个符号link。

我正在尝试在 windows 10 中创建一个符号 link 并将其附加到 docker,但这对我没有太大帮助,因为我遇到了异常。

在 windows 命令行中我做了:

mklink /D c:\test_ext \ip\shared_folder

当运行宁docker(我有docker社区版版本 18.06.1-ce-win73 (19507) - linux 容器)。

在命令行中,我尝试 运行 alpine(这在基于 linux 图像的其他 docker 上也发生过):

docker 运行 -i -t -v c:\test_ext:/data:rw alpine /bin/sh 我收到错误:

docker: Error response from daemon: error while creating mount source path '/host_mnt/c/test_ext': mkdir /host_mnt/c/test_ext: file exists.

只有外部 IP 才会发生这种情况。

我看到的是文件夹+子文件夹+文件以完全权限共享。

我尝试了一些变通方法,例如:docker 卷 p运行e,但这并没有太大帮助。

为什么会出现该错误消息,我该如何解决?

我还发现了一个可能有用的替代方法:

docker volume create \
  --driver local \
  --opt type=nfs \
  --opt o=addr=ip_address,rw \
  --opt device=:/myfolder 
   my_volume

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

谢谢。

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