Machine: 18.09.0 iso breaks swarm ingress

Created on 13 Nov 2018  Â·  34Comments  Â·  Source: docker/machine

Issue

With current ISO https://github.com/boot2docker/boot2docker/releases/download/v18.09.0/boot2docker.iso any publishing of swarm ports in virtualbox created docker-machine VM's won't respond. I tested this on macOS and Windows 10 using docker-machine version 0.15 and 0.16 and get the same result.

For example, this will work, allowing access from host browser:

docker run -d -p 4000:80 nginx

This will fail, resulting in curl/chrome unable to connect (connection refused):

docker service create -p 5000:80 nginx

Result

This makes Swarm more or less unusable with boot2docker and docker-machine with the latest boot2docker ISO.

This issue is not apparent when provisioning 18.09.0 cloud VM's using docker-machine.

Workaround

  • Use cloud VM's that don't rely on boot2docker.
  • docker run is unaffected.
  • For Swarm, simply setting VIRTUALBOX_BOOT2DOCKER_URL=https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso is a workaround and allows the following to work from host chrome:

docker service create -p 5000:80 nginx

Most helpful comment

Tracking issue: https://github.com/boot2docker/boot2docker/issues/1349
Fixed in PR: https://github.com/boot2docker/boot2docker/pull/1353

Looks like we'll have to use the workaround above for docker-machine + swarm until 18.09.1 is released.

All 34 comments

I'm having the same issue, I was testing a stack using Caddy server as a proxy and all I get is 502 Bad Gateway, I also tested it outside of Virtualbox with version 18.09 and everything is working just fine, I had to use the older stable version as you stated 18.06.1 by specifying the URL to docker-machine using --virtualbox-boot2docker-url.

Same issue

The same goes for using Hyper-V VM's aswell. The workaround is equivalent to the VirtualBox one, adding --hyperv-boot2docker-url "https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso" as an option in the docker-machine create command results in being able to access published ports externally.

Tracking issue: https://github.com/boot2docker/boot2docker/issues/1349
Fixed in PR: https://github.com/boot2docker/boot2docker/pull/1353

Looks like we'll have to use the workaround above for docker-machine + swarm until 18.09.1 is released.

Thanks for reporting this! I've been wrecking my head for hours trying to diagnose the problem.
Was experiencing this on Linux as well.

Thank you! Been banging my head for hours because of this!!

Thank you! I was running mad with this issue.

OMG, thank you, wish I had found this 2 days ago...

I thought I was crazy. And incompetent. Now I know I am just crazy. Or is it the other thing? Thanks!!!

I wasted a couple of nights sleep on this ..

Same issue. Fixed with recommended ISO above. Created VMs with: docker-machine create myvm2 --virtualbox-boot2docker-url "https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso"

thanks a lot, two nights wasted as well, sticking to build v18.06.1-ce

Thanks for the pointer. Spent a huge amount of time with this. Any schedule for the new release?

Soon, we’re currently in RC status I think...

On Thu, Dec 13, 2018 at 3:17 AM Janne Parkkila notifications@github.com
wrote:

Thanks for the pointer. Spent a huge amount of time with this. Any
schedule for the new release?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/machine/issues/4608#issuecomment-446880094,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAwW31xRnHBJ0VmsBlFuWOKMzJJmTtgSks5u4g0ogaJpZM4Ya75w
.

glad I found this before I wasted too much time on this. Would be nice to add a note to the tutorial for newcomers if we're stuck on the RC for a while

@nosequeldeebee It works with the latest RC. I run this to get it working (on hyper-v) It should be easy to substitute/remove the hyperv related settings:
docker-machine --native-ssh create -d hyperv --hyperv-virtual-switch "Default Switch" --hyperv-boot2docker-url "https://github.com/boot2docker/boot2docker/releases/download/v18.09.1-rc1/boot2docker.iso" m1

After spending several days baffled by this issue, I think that a note in the tutorial that the release is flagrantly broken would indeed be nice. Also, perhaps a little regression testing before releasing. ;-)

Thanks for the workaround, here is the machines (good and bad) list and the commands used with the workaround URL.

INGRESS DOES NOT WORK WITH THESE MACHINES

docker-machine create manager1
docker-machine create worker1
docker-machine create worker2

INGRESS WORKS WITH THESE MACHINES

docker-machine create m1 --virtualbox-boot2docker-url https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso
docker-machine create w1 --virtualbox-boot2docker-url https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso
docker-machine create w2 --virtualbox-boot2docker-url https://github.com/boot2docker/boot2docker/releases/download/v18.06.1-ce/boot2docker.iso

docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
m1 - virtualbox Running tcp://192.168.99.107:2376 v18.06.1-ce
manager1 - virtualbox Running tcp://192.168.99.100:2376 v18.09.0
w1 - virtualbox Running tcp://192.168.99.108:2376 v18.06.1-ce
w2 - virtualbox Running tcp://192.168.99.109:2376 v18.06.1-ce
worker1 - virtualbox Running tcp://192.168.99.103:2376 v18.09.0
worker2 - virtualbox Running tcp://192.168.99.104:2376 v18.09.0

I wasted 2 days on this. Why hasn't the release been rolled back or a patched released?

The 18.09.1 patch is in RC status. Lots of pieces of the Docker tooling have to get updated and tested before this downstream gets updated. I'm sure we'll see that soon.

It takes me hours, thanks for your issue.

Should this issue have been closed? My current engine is 18.09.2 and docker service create -p 5000:80 nginxseems to work fine!

Engine v18.09.3 and still seeing this error in part 4 of the tutorial.

Still seeing this issue as of 2019-03-26
Docker tutorial should be modified to reflect current state.
This would help prevent newbies (like me) from getting discouraged.

Have you done a docker-machine upgrade to ensure your machines
are latest?

On Tue, Mar 26, 2019 at 2:59 PM Michael Howard notifications@github.com
wrote:

Still seeing this issue as of 2019-03-26
Docker tutorial should be modified to reflect current state.
This would help prevent newbies (like me) from getting discouraged.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/machine/issues/4608#issuecomment-476800031,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAwW32v-Iw74MnWYL_59z8JRmBG4vzKlks5vam4QgaJpZM4Ya75w
.

I have identified the problem ... it is not a software issue.

The screen shots in the tutorial do not show port 4000 in use.
Yet, port 4000 is needed.

I have opened #8534 to address this doc issue.

Here is the issue if anyone else is looking: https://github.com/docker/docker.github.io/issues/8534

Pointing the browser to the IP and port 4000 worked for me.

http://192.168.99.100:4000
http://192.168.99.101:4000

Same issue :(

Make sure you have the latest version from
https://github.com/docker/machine/releases and use the upgrade command on
your VMs

On Mon, Mar 9, 2020 at 11:45 AM Dong Nguyen notifications@github.com
wrote:

Same issue :(

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/machine/issues/4608?email_source=notifications&email_token=AAGBNX2U7JI46XDU6L4QKY3RGUFIRA5CNFSM4GDLXZYKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOHYWMQ#issuecomment-596609842,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGBNX4HTSDLBV7BHRW5YSDRGUFIRANCNFSM4GDLXZYA
.

Has this been fixed in docker 19.03.5 ?

AFAIK it was fixed a year ago.

On Tue, Mar 10, 2020 at 9:03 AM Edwin Rifa notifications@github.com wrote:

Has this been fixed in docker 19.03.5 ?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/machine/issues/4608?email_source=notifications&email_token=AAGBNX6V7O73WUYXYCQ2FH3RGY3D3A5CNFSM4GDLXZYKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOLJ7LA#issuecomment-597073836,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGBNXZ7BWE2UFSM45FN4ZDRGY3D3ANCNFSM4GDLXZYA
.

Hi. Im still having problem connecting calling my svarm via curl or broswer

Get Outlook for Androidhttps://aka.ms/ghei36


From: Bret Fisher notifications@github.com
Sent: Tuesday, March 10, 2020 2:31:07 PM
To: docker/machine machine@noreply.github.com
Cc: Edwin Rifa Edwin-ms-1995@hotmail.com; Comment comment@noreply.github.com
Subject: Re: [docker/machine] 18.09.0 iso breaks swarm ingress (#4608)

AFAIK it was fixed a year ago.

On Tue, Mar 10, 2020 at 9:03 AM Edwin Rifa notifications@github.com wrote:

Has this been fixed in docker 19.03.5 ?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/machine/issues/4608?email_source=notifications&email_token=AAGBNX6V7O73WUYXYCQ2FH3RGY3D3A5CNFSM4GDLXZYKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOLJ7LA#issuecomment-597073836,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGBNXZ7BWE2UFSM45FN4ZDRGY3D3ANCNFSM4GDLXZYA
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/docker/machine/issues/4608?email_source=notifications&email_token=ACL6KOU7BXYZDLT23OEKMF3RGY6JXA5CNFSM4GDLXZYKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOLNDRQ#issuecomment-597086662, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACL6KORMLS24IK5RDDYDDU3RGY6JXANCNFSM4GDLXZYA.

@EdwinSilvaDK
I struggled with this for a while, but it works for me in 19.03.8. The computer I'm running docker commands from is also the master node; turns out I had to use the master node's actual IP address, not localhost.

Was this page helpful?
0 / 5 - 0 ratings