如何在opensuse中的同一台机器上的VM和docker之间共享目录?

Posted

技术标签:

【中文标题】如何在opensuse中的同一台机器上的VM和docker之间共享目录?【英文标题】:How to share directory between VM and docker on same machine in opensuse? 【发布时间】:2017-11-29 04:20:11 【问题描述】:

我知道如何在 docker 和 host 甚至 VM 和 host 之间建立一个共享目录,有没有办法在 OpenSUSE 中直接在 VM 和 Docker 之间共享一个目录,我正在为 VM 使用虚拟机管理器。请帮忙。

【问题讨论】:

【参考方案1】:

终于找到答案了 为VM文件系统分配一个标签(从VM中提供的“添加硬件”选项添加文件系统为其分配一个字符串,即TAGNAME)

使用虚拟机内部的命令:

sudo mount -t 9p -o trans=virtio,version=9p2000.L,rw TAGNAME /MOUNT_POINT

要让这个目录在每次启动后永久出现,编辑 /etc/fstab ,在最后添加这一行。

TAG   /MOUNT_POINT    9p  trans=virtio,version=9p2000.L,rw    0   0

要使 docker 可以使用该文件夹,只需在 docker 创建期间使用 -v 选项并指定与源相同的文件夹。这解决了问题。 :)

【讨论】:

正如我所提到的,“在主机和虚拟机之间声明了一个共享文件夹”。良好的反馈 +1【参考方案2】:

bind mount (-v or --mount) 应该像从主机一样在 VM 中应用,以便将文件夹共享到您的 Docker 容器。

我一直在 SLES 12SP3(不是 OpenSuse,但关闭)上的 KVM 和 Docker 容器之间这样做

【讨论】:

抱歉,我的错误实际上是 docker 不在 VM 内,我将 OpenSUSE 作为主机操作系统,并且在该虚拟机上与 docker 在同一主机操作系统上存在。 @LakshmikanthB 然后,您需要确保您的虚拟机已在主机和虚拟机之间声明了一个共享文件夹(安装在您的 docker 容器中的同一主机文件夹)

以上是关于如何在opensuse中的同一台机器上的VM和docker之间共享目录?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 OpenSuSE 13.1 上的默认 MySQL 用户

同一台机器上的IPC...WCF

在 .NET 中,同一台机器上的两个进程进行通信的最佳方式是啥?

如何在同一台机器上的不同网络接口上添加相同的端口?

用于 Windows 和 Linux 的同一台机器上的套接字

RPC over TCP 与同一台机器上的多个客户端