gpt4 book ai didi

macos - 在OSX上手动共享目录作为Docker卷安装点

转载 作者:行者123 更新时间:2023-12-02 20:34:50 34 4
gpt4 key购买 nike

根据此tutorial from docker website,当您启动容器时,它会自动共享您的/Users/username

我目前的问题:

但是在我的学校中,我的$HOME不在/Users中,并且当我尝试使用docker run -d -P -v $HOME/site:/usr/share/nginx/html --name mysite nginx之类的东西(如链接中的教程)将卷直接装载到容器中时,无法通过已装载的卷更改文件。所以我想我的$HOME不会自动共享。

但是如果我运行docker instpect mysite,我会得到:

"HostConfig": {
"Binds": [
"/nfs/zfs-student-3/users/vmonteco/site:/usr/share/nginx/html"
],


"Mounts": [
{
"Source": "/nfs/zfs-student-3/users/vmonteco/site",
"Destination": "/usr/share/nginx/html",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}

我的问题很简单:

如何与托管Docker的VM(此处为virtualbox)手动共享目录,以将其用作卷安装点?

这是我不推荐使用Boot2docker的方式:

使用 boot2docker 我可以运行以下命令:
SHAREDIR=$HOME/share
# creating share folder.
mkdir $SHAREDIR

# mount shared folder while relaunching boot2docker :
boot2docker --vbox-share="$SHAREDIR=share" up
echo "Creating and mounting \"share\" directory in boot2docker VM."
boot2docker ssh "sudo mkdir /share; sudo mount -t vboxsf share /share"

# running the container :
docker run -ti --rm -v /share:/share -v /Users:/Users base/archlinux sh

而且效果很好。

但是现在 boot2docker 弃用了,我没有找到如何对现在必须使用的VM进行操作(它使用virtualbox)。

如果我很了解,它应该与boot2docker的工作方式相同:
                       1                                                  2
[directory from OSX] <===> [VM directory (the VM replaces Boot2docker)] <===> [container directory]

如果我仍然很好地理解,现在唯一不起作用的是 [1] 点,这是由我刚刚与boot2docker共享的小脚本的中间部分处理的。

但是我现在该怎么办?

最佳答案

看到这个答案:
https://stackoverflow.com/a/32030385/2434234

总结:
从docker 1.8开始,您可以通过vbox cli添加目录。

VBoxManage sharedfolder add <machine name/id> --name <mount_name> --hostpath <host_dir> --automount

关于macos - 在OSX上手动共享目录作为Docker卷安装点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35445690/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com