Machine: docker-machine create is never using cache

Created on 9 Nov 2018  ·  19Comments  ·  Source: docker/machine

here's waht i am running docker-machine create test or docker-machine create -d virtualbox test

here's the output

Running pre-create checks...
(test2) Unable to get the local Boot2Docker ISO version:  Did not find prefix "-v" in version string
(test2) Default Boot2Docker ISO is out-of-date, downloading the latest release...
(test2) Latest release for github.com/boot2docker/boot2docker is v18.09.0
(test2) Downloading /home/hammi/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v18.09.0/boot2docker.iso...
(test2) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
Creating machine...
(test2) Unable to get the local Boot2Docker ISO version:  Did not find prefix "-v" in version string
(test2) Default Boot2Docker ISO is out-of-date, downloading the latest release...
(test2) Latest release for github.com/boot2docker/boot2docker is v18.09.0
(test2) Downloading /home/hammi/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v18.09.0/boot2docker.iso...

as you can see, it is not using the cached previously downloaded image

EDIT
i'm on Linux Mint 19
docker-machine version 0.14.0, build 89b8332

Most helpful comment

I am seeing the same issue on macOS and Windows 10 with various versions of docker-machine, all trying to pull the 18.09.0 version of boot2docker.iso, and in all cases it results in re-downloading iso into cache and then again into each VM subdir.

All 19 comments

I am seeing the same issue on macOS and Windows 10 with various versions of docker-machine, all trying to pull the 18.09.0 version of boot2docker.iso, and in all cases it results in re-downloading iso into cache and then again into each VM subdir.

Same here with:
Ubuntu 18.04 (eOS Juno)
Docker 18.09.0
docker-machine 0.16

`~ docker-machine version

docker-machine version 0.16.0, build 702c267f
~ sw_vers

ProductName: Mac OS X
ProductVersion: 10.14
BuildVersion: 18A391`

Same issue here

Having the same issue on Windows 10.

From a fresh install: https://docs.docker.com/toolbox/toolbox_install_windows/ (choosing defaults)
docker-machine version = 0.14.0, build 89b8332
Windows Version: 10.0.17134.345

Followed the exact same step on a different Windows machine and it works.

From a fresh install: https://docs.docker.com/toolbox/toolbox_install_windows/ (choosing defaults)
docker-machine version = 0.14.0, build 89b8332
Windows Version: 10.0.14393

This is due to a change in the ISO: https://github.com/boot2docker/boot2docker/issues/1347

Did not find prefix "-v" in version string

any answer for this issue?

Also having this problem. Docker for windows, docker-machine version 0.15.0, build b48dc28d. Creating Nodes now takes ages. Please fix this I need it working smoothly for a demo soon....

As a workaround, you can give a local ISO URL explicitly... The parameter varies slightly, based on driver.

The URL of the boot2docker image. Defaults to the latest available version [$VIRTUALBOX_BOOT2DOCKER_URL]

So you could use something like file://$HOME/Downloads/boot2docker.iso, after downloading ISO.

Thanks @afbjorklund . That solved the problem. Waiting for the new release of boot2docker.iso!

Manual download to ~/.docker/machine/cache/boot2docker.iso , then :
export VIRTUALBOX_BOOT2DOCKER_URL=file://$HOME/.docker/machine/cache/boot2docker.iso
docker-machine create --driver virtualbox myvm : it will auto detect your file in cache

Manual download to ~/.docker/machine/cache/boot2docker.iso , then :
export VIRTUALBOX_BOOT2DOCKER_URL=file://$HOME/.docker/machine/cache/boot2docker.iso
docker-machine create --driver virtualbox myvm : it will auto detect your file in cache

Is there any solution for Windows System?

Manual download to ~/.docker/machine/cache/boot2docker.iso , then :
export VIRTUALBOX_BOOT2DOCKER_URL=file://$HOME/.docker/machine/cache/boot2docker.iso
docker-machine create --driver virtualbox myvm : it will auto detect your file in cache

it works thanks .

Manual download to ~/.docker/machine/cache/boot2docker.iso , then :
export VIRTUALBOX_BOOT2DOCKER_URL=file://$HOME/.docker/machine/cache/boot2docker.iso
docker-machine create --driver virtualbox myvm : it will auto detect your file in cache

Is there any solution for Windows System?

I had tried in vain to set a local file path in Windows. Building off the solution from @afbjorklund I used

export VIRTUALBOX_BOOT2DOCKER_URL=https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso

Works on Windows as a temporary workaround. You can set the release you want.

@erhu1999 @AdamWillz
I found a working solution for Windows that uses a local file.

  1. Download the .iso to some directory (but not .docker/machine/cache/boot2docker.iso) e.g. C:\Users\<my_user>\Downloads\boot2docker.iso.
  2. Then set the boot2docker URL variable to file://C:/Users/<my_user>/Downloads/boot2docker.iso.

Please notice that there are two slashes after file: (not three as there should be in a proper local file URI).
I tested it on Hyper-V but I hope it will work for VirtualBox as well.

I think this bug will continue to be open, until boot2docker v18.09.1 has been released...

@tianon Seems like this isn't really the "maintenance mode" that is mentioned in #4537 ?

This is how b2d releases have always been; hard-locked to Docker releases (so fixes get similarly delayed).

Of the things wrong with 18.09.0, this is honestly one of the most benign 😅.

I'm told 18.09.1 will officially be released sometime soon, although I don't know exactly how soon (@thaJeztah? :pray: :heart:).

Hopefully next week

👍 let's close this one, thanks everyone!

Was this page helpful?
0 / 5 - 0 ratings