繁体   English   中英

如何在Mac上从容器映射共享文件夹?

[英]How can I map a shared folder from my container on Mac?

我在通过Samba共享的Docker容器内部有一个文件夹。 我可以在Windows上映射此文件夹,而运行类似以下命令时不会出现问题:

net use z: \\vm_ip\folder

在上述情况下,z:是我使用共享文件夹中的内容创建的驱动器。

如何在Mac上映射相同的文件夹?

第1步-使用Samba共享文件夹

您需要做的第一件事是让包含您要共享的文件(项目,源代码,设置等)的文件夹对于MacOS可见。

为此,您需要使用Samba在Docker Container上共享文件夹。 我不会在这里描述如何执行此操作,因为Internet上有很多资源。

第2步-在Kitematic上重定向Samba端口

Kitematic是一个平台,可帮助您在Docker上配置容器和其他设置。 可以在这里下载: https : //www.docker.com/products/docker-toolbox 您不需要Kitematic来创建重定向Samba端口的规则,但是,您不会花2分钟的时间(而是尝试在CLI中发现如何执行此操作)。

在MacOS上安装了Kitematic:

开始Kitematic; 选择包含您使用Samba共享的文件夹的容器(标题为“容器”的左侧面板); Docker面板的图像

单击设置选项卡,然后选择下面名为Docker的“主机名/端口的设置图像”面板的选项卡

现在,我们添加端口137、138、139和445,并将其重定向到localhost上的同一端口。

步骤3-在MacOS上挂载Samba共享文件夹

在MacOS上编辑文件所需的最后一件事就是在MacOS上映射在Samba上共享的文件夹(在Docker容器内部)。 要映射它,请打开终端并运行以下命令:

$ mount_smbfs //guest@localhost:/SharedFolderOnSamba source/

我们正在做的是使用mount_smbfs方法,告诉我们将使用用户guest连接到SharedFolderOnSamba文件夹中的@localhost,然后将当前路径映射(创建一个新的Drive)在source /文件夹中。 MacOS上的终端会话目录。

因此,请注意:

您可以使用任何其他用户来代替guest。 您必须具有源/文件夹或定义将要使用的另一个文件夹; 必须将SharedFolderOnSamba更改为使用Samba共享的文件夹的名称。 要确认文件夹的名称,请转至/ etc / samba /并打开smb.conf并按您共享的文件夹进行搜索。

如果您使用的是Docker For Mac,则Mac上的/ Users文件夹已安装在Docker For Mac应用程序运行的虚拟机内部。 可通过vm中的/ Users访问。 这意味着您可以执行以下操作: docker run -v /Users/some/path:/folder ...在容器的/ folder中将表示为vm中的/ Users / some / path,它映射回您的Mac的/ Users / some /路径。

如果您想要/ Users以外的其他位置,请单击屏幕顶部的鲸鱼图标,选择“首选项”,然后单击“文件共享”选项卡。 如果您在Mac的某个位置挂载了samba / cifs共享,则可以在此处添加该路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM