将卷装入主机

时间:2016-03-17 07:22:32

标签: docker boot2docker

我目前在Windows上使用Boot2Docker。是否可以将root挂载到主机?

假设我正在使用Ubuntu映像,并且我想将/挂载到主机。我怎么能这样做?

我一直在四处寻找并尝试:

docker run -v /c/Users/ubuntu:/ --name ubuntu -dt ubuntu

但我最终得到了一个错误:

docker: Error response from daemon: Invalid bind mount spec "/c/Users/ubuntu:/": volumeslash: Invalid specification: destination can't be '/' in '/c/Users/Leon/ubuntu:/'.

2 个答案:

答案 0 :(得分:3)

如果我理解正确,您是否尝试将root作为卷安装在容器中?如果是这种情况,请在内部创建一个新目录并公开该目录。

例如,dockerfile:

RUN mkdir /something
VOLUME /something

正如Docker文档所述,容器目录必须始终是绝对路径,例如/src/docs。 host-dir可以是绝对路径或名称值。

有关更多信息,请阅读:https://docs.docker.com/engine/userguide/containers/dockervolumes/#mount-a-host-directory-as-a-data-volume和“将主机目录挂载为数据卷”部分可以让您更好地理解。

答案 1 :(得分:2)

这是你如何指定路径的问题。请参阅安装MongoDB容器使用的本地卷的示例:

docker run --name *container-name* -v **/Users/SKausha3/mongo/imageservicedb/data**:/*data* -v **/Users/SKausha3/mongo/imageservicedb/backup**:/*backup*

c:/Users/SKausha3/mongo/imageservicedb/data是我的本地文件夹,但您必须从路径中删除“c:”。