如何降级docker-machine和boot2docker使用的Docker版本?

3
我正在 OS:X 上使用 docker-machine。我想将 Docker 1.11.2 安装到我的 boot2docker 机器上,但是看起来 docker-machine 和 boot2docker 组合总是拉取 boot2docker 的最新版本。
我已经尝试用手动下载的与 1.11.2 匹配的 iso 替换了 ~/.docker/machine/machines/default/boot2docker.iso,但似乎并没有实际更改 Docker 的版本。
在创建虚拟机时,我没有看到 docker-machine 文档中列出任何内容 指示可以指定要使用的 iso 或 Docker 版本。我使用 VirtualBox 作为驱动程序。
如何降级安装在我的虚拟机中的 Docker 版本或创建一个安装有特定版本的新版本?

不确定,但当新版本推出Beta版时,他们可能会将其删除。如果您想要更多控制,最好使用Vagrant(或类似工具)。 - ldg
3个回答

2
创建新的虚拟机时,可以使用--virtualbox-boot2docker-url选项来指定从哪里获取boot2docker ISO。这样做将不会将该虚拟机升级到最新版本。
例如:
docker-machine create \
  --driver virtualbox \
  --virtualbox-memory 6144 \
  --virtualbox-hostonly-cidr "10.10.10.1/24" \
  --virtualbox-cpu-count "2" \
  --virtualbox-disk-size "20000" \
  --virtualbox-boot2docker-url https://github.com/boot2docker/boot2docker/releases/download/v1.12.2/boot2docker.iso \
  default

1

看起来完全降级 docker-machine 需要两个步骤。

首先下载并替换位于 ~/.docker/machine/cache/boot2docker.isoboot2docker.iso 文件。当您创建新的 docker-machine 时,默认使用缓存的 iso。手动更换为 您想要的任何版本 iso 是必需的。

这将导致 docker-machine 使用适当版本的 docker 创建 VM。

但是,您还需要下载 docker 工具箱 的新版本以便拥有客户端的旧版本。我不确定如何导航到比链接 (1.11.2) 更早的版本,但是您可以更改下载网址以获取所需版本,并且似乎一些版本仍然托管在那里。


它不会默认使用缓存版本。 - ramblingpolak
@ramblingpolak,你需要执行docker-machine create命令,而不是docker-machine upgrade。 - enderland
1
docker-machine create 仍会进行升级。cp ~/Downloads/boot2docker.iso ~/.docker/machine/cache/ docker-machine create --driver virtualbox default 正在运行预创建检查... (default) Boot2Docker ISO 默认版本已经过期,正在下载最新版本... (default) 最新版本为 github.com/boot2docker/boot2docker 的 v1.12.1 (default) 正在从 https://github.com/boot2docker/boot2docker/releases/download/v1.12.1/boot2docker.iso 下载 /Users/user/.docker/machine/cache/boot2docker.iso... - ramblingpolak

0

按照以下步骤运行:

  1. 检查您的 Docker 版本: $ docker -v Docker version 18.03.0-ce, build 0520e24

  2. 这里 下载您的 Docker 版本的 boot2docker(18.03.0-ce)到本地: wget https://github.com/boot2docker/boot2docker/releases/download/v18.03.0-ce/boot2docker.iso -P ~/.docker/machine/cache/test/boot2docker-v18-03-0-ce.iso

  3. 使用下载的 boot2docker 版本创建 new_virtual_box_name docker-machine create --driver virtualbox --virtualbox-boot2docker-url ~/.docker/machine/cache/test/boot2docker-v18-03-0-ce.iso new_virtual_box_name


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接