-
Notifications
You must be signed in to change notification settings - Fork 2k
Latest docker release (20.10.0) doesn't work with docker-machine #4858
Comments
https://get.docker.com/ is the default install URL, fwiw |
Interestingly, I just tried with::
And it worked fine. After doing
I tried with 18, 19 and 20 local Docker versions. Docker machine is Do you see anything I'm missing (except that you used DO and I used GCP)? |
Thanks for checking this out. I haven't tried with other providers, just DO, so the problem might be there. Will check again later |
Looks like, according to JonasProgrammer/docker-machine-driver-hetzner#54, that Hetzner doesn't work as well. |
Querying the docker version will work but attempt to run a container on that box now and it will fail. |
@cardoe, not really:
|
Confirm, latest update broke |
Confirm as well |
Me too, my workaround for gitlab runner and AWS driver was also to use engine-install-url with a fixed version script. |
In the case of rackspace (and I suspect digitalocean as well), we discovered that the system was not allowing external connections to the docker service because the firewall was blocking the port 2376. As a workaround we created an image with an additional firewall rule to allow 2376 on an external interface. Best would be to have the provision files updated with the proper fixes. |
In my case (Gitlab runner at DigitalOcean, Ubuntu 20.04 LTS) the update to Docker 20.10.0 broke the runners as well. After a bit of debugging it seemed to me as if the docker daemon was only listening on the socket, not the port, when docker-machine started checking for the running docker daemon. According to the logs, half a minute after docker-machine gave up (10 retries), the docker daemon was restarted and also listened on port 2376. I connected locally to the docker daemon and was able to run containers. Haven't investigated further and just changed to Docker 19.03 with the parameter suggested bei @joelgriffith which fixes the issue for now. |
This may be related to moby/moby#41767 ( |
Use |
As far as I know docker-machine is deprecated, and won't be updated anymore: see #4537 There will be no further releases of the boot2docker.iso either: boot2docker/boot2docker#1408 So Docker 19.03 is the final release, unless Docker Inc. changes their minds about the projects... We will have a fork of libmachine inside minikube, but the machine-drivers will not be compatible. |
I have done some work for minikube, to switch from the old tcp to the new ssh connections. This could be ported to docker-machine, if the project finds a new life somewhere else ? Basically it uses |
I think I ran into this problem. I get the following error:
My investigation shows that the docker daemon started on the target machine, listens only on the docker socket. A restart of the docker daemon "at the right" time allows the reload the config and listen on the expected port. Until v20.10 supported is fixed, I've added a For people running gitlab-runner with docker+machine executor, what is frustrating is that there is no error in the |
@Miouge1 Whats the syntax for engine-install-url? Could you provide a complete example? Thanks! |
@webflo there's an example in the first post in this issue |
Docker 20.10.1 packages are now available on download.docker.com, and may solve this issue; perhaps someone could give it a test to verify if the issue is resolved? |
Docker 20.10.1 has the same problem - docker-machine writes the systemd unit file, calls daemon-reload, but for some reason ps ax |grep dockerd shows that the running dockerd has a blank -H argument. If you ssh in and restart docker manually, it comes up with the correct arguments. |
Gitlab has a fairly active fork that releases fixes for various issues: https://gitlab.com/gitlab-org/docker-machine It's one of the main executors for their test runners and it's still having this issue, so hopefully they'd accept a PR with a fix. |
@tsnowlan : as far as I know, both https://github.com/machine-drivers/machine and https://docs.gitlab.com/runner/executors/docker_machine.html#forked-version-of-docker-machine
Things like using ssh transport for docker or adding support for ssh host keys are not really bug fixes. So that is why it needed to start over, outside Docker. For now, just using Vagrant instead of "machine"... I would be happy to contribute to a replacement for docker-machine / podman-machine, but won't really drive. |
Ah, yeah. I suppose that while those could fix some issues they aren't really bug fixes themselves. It's pretty frustrating. Gitlab just had a docker-machine release a week ago, after this problem had been reported and 20.10.1 released, and it's still not working. |
Hi all! I read everything, but not sure if a workaround exists at this point. Trying to create a droplet on DigitalOcean, but no joy. Could you confirm, and if a workaround exists - make it clear please? This would really help, because I imagine that a lot of people would find this thread soon |
@XedinUnknown read again, a workaround is literally in the first post |
It appears to be talking about an arg, but I don't know what this is an arg for. |
|
I confirm that this command works:
|
Thanks for flagging this issue and raising a quick fix using the --engine-install-url flag. We're using this as the final straw and migrating off docker-machine ASAP, it's just causing us too much of a maintenance headache. |
What's interesting is that I only run into this issue when I use an AMI that already has Docker |
This reverts commit 956163e
I might be missing something but docker-machine works perfectly fine for me with the latest Docker and the hetzner cloud provider. |
@martinsotirov Could you share your config.toml? Because with the latest Docker version and the Hetzner Provider I am still running into these issues
|
@szEvEz I don't have my Hetzner Swarm running anymore but as far as I remember I used the guide from the Hetzner driver. After initializing it wasn't able to find the nodes but after restarting them, it just worked. I'm gonna try to recreate a swarm soon and I'll write here how it goes. |
EDIT:
Hello all, I too am having troubles creating a docker-machine with digital ocean.
OUTPUT:
|
Same issue with the AWS provider. I wasn't able to get to workaround working on a GitLab Runner |
If anyone is interested I've found a workaround for this issue with the Hetzner driver, JonasProgrammer/docker-machine-driver-hetzner#54 (comment). |
Oddly enough, started working for me. I updated Docker and GitLab Docker Machine in my AMI. |
Hey there! I've noticed that the latest docker release (20.10.0 as of this writing) breaks with docker-machine's create phase. The following no longer works:
This has failed for about the last few hours. Seems like pinning to a custom engine URL works, but I imagine most folks will use this with a broken experience across all drivers. I've currently worked around this by setting:
--engine-install-url "https://releases.rancher.com/install-docker/19.03.9.sh"
The text was updated successfully, but these errors were encountered: