我刚在Mac上设置了boot2docker。如何在我的Mac上安装本地目录,以便可以一直访问正在运行的Docker容器?谢谢你的帮助!
答案 0 :(得分:11)
截至2014年10月16日,Docker支持无缝地在/ Users路径中安装目录。
来自Docker blog:
在此版本中,我们正在解决最常见的问题:在Mac和容器之间共享目录。使用Docker 1.3和相应版本的boot2docker,主机安装的卷现在可以按照您期望的方式工作。
...请注意,仍然存在一些限制:例如,此功能仅限于boot2docker的虚拟机配置,无法动态管理,仅适用于/ Users中的目录。但是我们正在为改进卷管理做出令人兴奋的贡献,因此预计在接下来的几个版本中这个领域会有很大的改进。
用法示例:
$ docker run -v /Users/bob/myapp/src:/src [...]
答案 1 :(得分:7)
请参阅https://github.com/boot2docker/boot2docker/issues/678。
与VM共享您的文件夹:
VBoxManage sharedfolder add boot2docker-vm --name /tmp/Work --hostpath /CODE --automount
根据发现非bootscript.sh
的信息,您知道VM将运行bootlocal.sh
文件夹中的/var/lib/boot2docker/bootlocal.sh
脚本,其中数据仍然存在。
添加文件#!/bin/sh
# bash is not available!
mkdir -p /CODE
mount -t vboxsf /tmp/Work /CODE
chmod +x /var/lib/boot2docker/bootlocal.sh
然后boot2docker-vm
并重新启动 // Making editable columns
// For ID
tblColID.setCellFactory(TextFieldTableCell.forTableColumn());
tblColID.setOnEditCommit(
new EventHandler<CellEditEvent<Person, String>>() {
public void handle(CellEditEvent<Person, String> t) {
((Person) t.getTableView().getItems().get(
t.getTablePosition().getRow())
).setId(t.getNewValue());
}
}
);
vm。
答案 2 :(得分:3)
boot2docker和VirtualBox Guest Additions
如何将/ Users挂载到boot2docker
tl; dr使用VirtualBox Guest构建您自己的自定义boot2docker.iso 添加(参见link)或下载 http://static.dockerfiles.io/boot2docker-v1.0.1-virtualbox-guest-additions-v4.3.12.iso 并将其保存到〜/ .boot2docker / boot2docker.iso。
答案 3 :(得分:0)
正如Levi所说,/ Users目录是自动挂载的。在boot2docker和docker-machine中都是如此。也就是说,如果你想在/ Users之外安装任何东西,所有当前的答案都会谈论Boot2docker。由于现在已经弃用了docker-machine,这适用于docker-machine:
首先,ssh进入docker-machine vm并创建我们要映射到的文件夹:
docker-machine ssh $MACHINE_NAME "sudo mkdir -p \"$VOL_DIR\""
现在将文件夹共享到VirtualBox:
WORKDIR=$(basename "$VOL_DIR")
vboxmanage sharedfolder add "$MACHINE_NAME" --name "$WORKDIR" --hostpath "$VOL_DIR" --transient
最后,再次ssh到docker-machine并挂载我们刚刚共享的文件夹:
docker-machine ssh $MACHINE_NAME "sudo mount -t vboxsf -o uid=\"$U\",gid=\"$G\" \"$WORKDIR\" \"$VOL_DIR\""
注意:对于UID和GID,只要它们尚未被采用,您基本上可以使用任何整数。
这是在OS X El Capitan的docker-machine 0.4.1和docker 1.8.3上测试的。