Docker 如何将容器中的目录同步到主机中的目录?

Docker 如何将容器中的目录同步到主机中的目录?,docker,vagrant,Docker,Vagrant,我使用的是vagrant,所以容器在vm中。以下是我的外壳供应: #!/bin/bash CONFDIR='/apps/hf/hf-container-scripts' REGISTRY="tutum.co/xxx" VER_APP="0.1" NAME=app cd $CONFDIR sudo docker login -u xxx -p xxx -e xxx@gmail.com tutum.co sudo docker build -t $REGISTRY/$NAME:$VER_APP .

我使用的是vagrant,所以容器在vm中。以下是我的外壳供应:

#!/bin/bash
CONFDIR='/apps/hf/hf-container-scripts'
REGISTRY="tutum.co/xxx"
VER_APP="0.1"
NAME=app

cd $CONFDIR
sudo docker login -u xxx -p xxx -e xxx@gmail.com tutum.co
sudo docker build -t $REGISTRY/$NAME:$VER_APP .
sudo docker run -it --rm -v /apps/hf:/hf $REGISTRY/$NAME:$VER_APP
一切运转良好,形象良好。但是,上面的同步命令(最后一个)似乎不起作用。我在容器中进行了检查,
/hf
目录存在并且其中包含文件


另一个问题是,如果我手动执行syncing命令,它会成功,但只有当我
ls/hf
时,我才能看到来自主机的文件。docker似乎清空了
/hf
,并将来自主机的文件放入其中。我想换一种方式,或者更好的是,合并它们。

是的,恐怕卷就是这样工作的。基本上,卷的意思是,“不要将容器文件系统用于此目录,而是从主机使用此目录”

如果要将文件从容器复制到主机上,可以使用
docker cp
命令


如果你告诉我们你想做什么,也许我们可以建议一个更好的选择。

你是使用
vagrant rsync
还是只使用VirtualBox共享文件夹?