我目前在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:/'.
答案 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:”。