微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

更改Docker机器位置 – Windows

我在Windows 7上使用docker工具箱来运行docker。 (docker版本1.9.1)

事实certificate,docker机在C: Users username .docker machine machines default下创build了它的虚拟机。 而当我提交的图像在这个位置虚拟机的大小膨胀起来。 自Windows以来,无法承受C盘空间的奢侈。

有什么办法可以改变认机器的位置吗?

在Windows Server 2016中使用Hyper-V中的Docker和Compose

Dockerregistrylogin文件在哪里?

DOCKER for Windows – 打开cmd执行docker机器env

Docker + Nginx + PHPNginx是不是指向根目录?

Dockerfile与docker-compose.yml

在Docker-compose的命令键中使用容器的环境variables

Docker – 安装PHP-memcached extenstion不工作?

Docker不能在Windows10中工作

在Ubuntu上运行docker:挂载的主机卷不能从容器写入

Docker暴露端口疯狂

这是在Windows 7上完美的工作:

将MACHINE_STORAGE_PATH环境变量设置为要用于Docker机器/ VM,缓存等的位置的根目录

安装Docker工具箱

运行Docker快速入门终端

Docker ToolBox现在将在MACHINE_STORAGE_PATH指向的位置创建所有文件

更新:

请注意,使用新存储路径创建新虚拟机并不理想,因为Docker快速入门终端脚本似乎不适用于任何未命名为“default”的内容

如果你已经有一个虚拟机在C:盘,那么最简单的做法是去Oracle VirtualBox删除认”虚拟机,卸载Docker ToolBox删除C: Users <username>。 docker ,然后按照上面的3个步骤。

注意:卸载并重新安装Docker ToolBox可能不是必需的。 但是我没有测试过。

更新

要也移动Docker证书,请将DOCKER_CERT_PATH变量设置为指向新驱动器的路径。 感谢@Nutle的提示

自2015年以来,现在(2017年6月) Hyper-V允许您定义您的VHDX文件的位置 :

请参阅Docker for Windows 1.13.0,2017-01-19(稳定) :

可以移动包含图像和非主机装入卷的VHDX文件(使用UI中的“高级”选项卡)

这将用一行修改%APPDATA%Dockersettings.json :

"MobyVhdpathOverride":"C:\Users\Public\Documents\Hyper-V\New folder\MobyLinuxVM.vhdx"

看到这个线程更多 。

原始答案

目前2015年,码头机强制使用%USERPROFILE% :

参见libmachine/mcnutils/utils.go#L17-L25

如问题499中所评论的:

同时,用户将如何指定.docker/machine/*文件的存储位置?

您可以通过在命令行上指定--storage-path或使用环境变量MACHINE_STORAGE_PATH 。

(你可以看到它在PR 1941实施)

Joost Den Boer 在评论中指出

刚刚在Mac上试过' -s <path> ',它似乎工作正常。

可能不太明显的是路径选项在命令之前

运行“ docker-machine -s /Volumes/other/location' create --driver=virtualBox “在另一个位置创建了一个新的VirtualBox映像。

在运行docker快速启动终端时放置这两个命令。

我想你的新位置是“D: docker”,你的新机器名是“docker1”

export MACHINE_STORAGE_PATH=D:\docker docker-machine create --driver=virtualBox docker1

这应该在您的新位置创建一个具有指定名称的新机器。

只需使用VirtualBox图形界面来重定位文件disk.vmdk :

复制文件C:Users{myUsername}.dockermachinemachinesdefaultdisk.vmdk到另一个文件夹中,比如F:docker-image C:Users{myUsername}.dockermachinemachinesdefaultdisk.vmdk F:docker-image

打开VirtualBox ,选择default虚拟机并打开Settings 。

打开Storage ,选择当前的disk.vmdk并释放它(或删除它)。

点击Choose Virtual Hard disk File...并搜索复制的文件在F:docker-image

发生警告:VirtualBox投诉旧的虚拟机UID,然后进入菜单File ,选择Virtual Media Manager...并释放或删除旧的disk.vmdk

重试4. ,完成了!

如果您的环境需要,则还要为boot2docker.iso,快照文件夹,视频捕获进行重定位。

我无法获得MACHINE_STORAGE_PATH环境变量方法的工作。 在第一次初始化机器时,它一直抱怨缺少证书。 仍然在Windows 7上,所以必须使用docker-toolbox

解决了这个问题:

卸载Docker ToolBox并重新启动机器

打开管理员提示符(查找命令提示符,按住Shift键,选择“以管理员身份运行”)

从%USERPROFILE%删除.docker:rmdir / S%USERPROFILE%.docker

在其他地方创建名为.docker的文件夹:mkdir a:。docker

mklink / J%USERPROFILE%.docker a:。docker

关闭管理命令提示

重新安装Docker ToolBox

使用Docker快速入门终端链接引导一切。

Kitematic现在也可以打开(虽然我不得不在第一个错误选择“使用虚拟框”选项。

您可以将.docker目录移动到另一个驱动器并为其创建一个交接点。

请注意,常规快捷键不起作用。

例如:

将.docker目录从C:Usersusername移到D:

并运行:

C:Usersusername>mklink /j .docker D:.docker Junction created for .docker <<===>> D:.docker

上面的任何解决方案我都遇到了一些麻烦,但是这对我是有效的:

定义MACHINE_STORAGE_PATH环境变量来指向你想要的目录/文件夹。

.docker安装.docker -toolBox,如果这对你.docker ,那么对我来说,它仍然是安装在.docker目录中。

为了解决这个问题,我已经停止并从Users目录中删除了与.docker文件夹一起创建的认机器。

编辑start.sh脚本并在顶部添加该行:

例如

export MACHINE_STORAGE_PATH=D:\Docker

运行Docker快速入门终端快捷方式,它重建所需文件夹内的认机器

截至最新版本,这些答案已经过时。 该位置可以在“设置”用户界面中进行配置。

https://github.com/docker/for-win/issues/333

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐