将本地卷挂载到远程docker容器上,可能吗?

use*_*307 6 volumes docker

我最近使用Docker非常满意,通常会在部署网站之前先测试网站以确保它们在服务器上正常运行。

通常,我将本地目录挂载到本地运行的映像,例如:

docker run -v c:\temp\website:/var/www/html (you get the picture)
Run Code Online (Sandbox Code Playgroud)

我很好奇的是,是否可以将本地卷挂载到运行docker的远程服务器上。我非常确定答案是否定的,除非我在防火墙中戳入整个整数,以便在外部共享本地卷。

但是,我想我会问。Docker似乎正在迅速做一些令人惊奇的事情。

谢谢

Car*_*rez 6

  1. 首先在Windows中共享您的本地目录。假设您的共享文件夹为\\windowsip\website
  2. 然后登录到运行docker引擎的远程Linux机器上,并确保您可以挂载Windows共享文件夹: sudo apt install cifs-utils
  3. 尝试连接到您的共享: sudo mount -t cifs -o user=******,password=******,uid=ubuntu,gid=ubuntu //windowsip/website /home/ubuntu/website
  4. 当一切正常时,让我们对docker做同样的事情。创建一个命名卷,如下所示:docker volume create --driver local --opt type=cifs --opt device='//windowsip/website' --opt o='username=*****,password=*****' website
  5. docker run -v website:/var/www/html

我知道这是一个旧线程,但是我遇到了同样的问题,希望它对其他人有帮助

Okey Okey我没有阅读问题的最后一部分。是的,您需要在防火墙上戳洞。但是仍然有用,我有一个带有docker的linux服务器,当我在家中使用笔记本电脑工作时,可以通过VPN使用它。容器可以本地访问所有内容。

问候

  • 我们这里不需要 VPN - 使用 ssh 连接转发本地 cifs 端口 (445) 怎么样? (2认同)