如何让docker-machine使用本地boot2docker.iso

时间:2016-01-11 08:37:32

标签: boot2docker docker-machine

我在hyper-v中运行我的docker容器。为了访问Windows共享,我构建了一个自定义boot2docker.iso。现在我想使用这个自定义iso映像创建docker主机。

我尝试让docker-machine使用我的本地boot2docker.iso文件,方法是使用以下命令指定--hyperv-boot2docker-url,但在控制台上出错:

fd, fname = mkstemp(suffix='.txt', text=True)
os.close(fd)
os.remove(fname)

正确的语法是什么,或者这应该有用吗?

4 个答案:

答案 0 :(得分:1)

有三个反斜杠,但有两个就足够了:

docker-machine create --driver hyperv --hyperv-virtual-switch "External Virtual Switch" --hyperv-boot2docker-url file://D:/docker/boot2docker.iso b2d

答案 1 :(得分:0)

你可以做一个"肮脏的把戏"。您可以删除为iso --hyperv-boot2docker-url file:///D:/docker/boot2docker.iso指定URL的参数:

覆盖boot2docker.iso文件。在您的%userprofile%\.docker\machine\cache文件夹下。然后通过拔下网络电缆切断您的互联网访问。然后启动你的命令。

通常,如果您没有为iso指定任何内容,它会检查文件的校验和。它与原版有所不同,因此它会尝试下载新版本,因为您无法访问互联网,它会将您的自定义boot2docker.iso文件从%userprofile%\.docker\machine\cache文件夹复制到{ {1}}它将用于创建机器。

希望它有所帮助。

答案 2 :(得分:0)

docker-machine create --driver hyperv --hyperv-virtual-switch“Ext Switch”--hyperv-boot2docker-url file:// C:/Users/User_name/.docker/machine/machines/dev/boot2docker .iso machine_name
这对我有用

答案 3 :(得分:-1)

在文件后D之前仅使用两个反斜杠 像这样 docker-machine create --driver hyperv --hyperv-virtual-switch“外部虚拟交换机” --hyperv-boot2docker-url文件:// D:/docker/boot2docker.iso b2d