Docker的新功能,并且根据有关Dockerfile的文档,由于可移植性,不允许指定主机卷映射。这很好,但是有没有办法将主机卷(我在MAC中,比如说,我的家庭目录/Users/bsr
映射到ubuntu映像的/data
)到linux容器。 docker volume
的{{3}}仅讨论docker run
,但不确定如何在创建后添加卷。
答案 0 :(得分:0)
在 Linux 上,您只需传递
即可将主机系统的目录挂载到docker容器中。-v /path/to/host/directory:/path/to/container/directory
到docker run
命令。
您也可以在文档中看到它:https://docs.docker.com/userguide/dockervolumes/#mount-a-host-directory-as-a-data-volume
如果您使用 boot2docker ,事情会更复杂。问题是boot2docker运行一点linux vm来启动docker。因此,如果您按上述方法安装卷,则将安装little linux vm的目录。
使用samba共享在boot2docker GitHub页面的README中描述了解决方法:
答案 1 :(得分:0)
以下工作,在@sciutand的帮助下工作。
git clone https://github.com/boot2docker/boot2docker.git
cd boot2docker/
docker build -t my-boot2docker-img .
docker run --rm my-boot2docker-img > boot2docker.iso
boot2docker stop
mv ~/.boot2docker/boot2docker.iso ~/.boot2docker/boot2docker.iso.backup
mv boot2docker.iso ~/.boot2docker/boot2docker.iso
VBoxManage sharedfolder add boot2docker-vm -name /Users -hostpath /Users
boot2docker up
docker run -d -P --name web ubuntu