将本地卷安装到远程 docker 容器,可能吗?

Mounting local volumes to remote docker container, Possible?

我最近使用 Docker 很舒服,通常是为了测试网站以确保它们 运行 在我部署它们之前在服务器上正常运行。

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

docker run -v c:\temp\website:/var/www/html (you get the picture)

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

但是,我想我会问。 Docker 似乎很快就在做一些了不起的事情。

  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

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

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