docker-compose其他机器的共享量

Eit*_*tan 5 share docker docker-compose

我正在使用在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
Run Code Online (Sandbox Code Playgroud)

我发现了网络声明的一些语法.我不知道我该怎么写?

volumes:
  - /my_folder:my_docker_folder
networks:
  frontend:
    ipv4_address: 1.2.3.4
Run Code Online (Sandbox Code Playgroud)

并且ip 1.2.3.4是my_folder的ip?

...但是这种语法可能不正确,或者我应该运行一些命令来正确共享文件夹.

如何将其他计算机共享文件夹映射到docker.

我尝试了几件事,也映射了一个符号链接.

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

在Windows命令行中我做了:

mklink /D c:\test_ext \\ip\shared_folder
Run Code Online (Sandbox Code Playgroud)

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

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

docker run -i -t -vc:\ test_ext:/ data:rw alpine/bin/sh我收到错误:

搬运工:从守护程序错误响应:误差而创建安装源路径 '/ 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
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

小智 -2

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