Skip to content
This repository has been archived by the owner on Sep 26, 2021. It is now read-only.

18.09.0 iso breaks swarm ingress #4608

Open
BretFisher opened this issue Nov 13, 2018 · 34 comments
Open

18.09.0 iso breaks swarm ingress #4608

BretFisher opened this issue Nov 13, 2018 · 34 comments

Comments

@BretFisher
Copy link

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

@mdawar
Copy link

mdawar commented Nov 13, 2018

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.

@ABQJuan
Copy link

ABQJuan commented Nov 14, 2018

Same issue

@andreasnilsen
Copy link

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.

@BretFisher
Copy link
Author

Tracking issue: boot2docker/boot2docker#1349
Fixed in PR: boot2docker/boot2docker#1353

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

@dimmg
Copy link

dimmg commented Nov 21, 2018

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

@vjrngn
Copy link

vjrngn commented Nov 22, 2018

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

@javiergarciad
Copy link

Thank you! I was running mad with this issue.

@antonkallenberg
Copy link

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

@Larswa
Copy link

Larswa commented Nov 30, 2018

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

@pankajguptaaa
Copy link

I wasted a couple of nights sleep on this ..

@evanharmon1
Copy link

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"

@rpetrenko
Copy link

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

@Japskua
Copy link

Japskua commented Dec 13, 2018

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

@BretFisher
Copy link
Author

BretFisher commented Dec 13, 2018 via email

@nosequeldeebee
Copy link

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

@Larswa
Copy link

Larswa commented Dec 18, 2018

@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

@skyloupe
Copy link

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. ;-)

@schogini
Copy link

schogini commented Jan 2, 2019

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

@respectTheCode
Copy link

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

@BretFisher
Copy link
Author

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.

@costlife
Copy link

costlife commented Jan 8, 2019

It takes me hours, thanks for your issue.

@davidrpugh
Copy link

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

@cballenar
Copy link

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

@michaelthoward
Copy link

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.

@BretFisher
Copy link
Author

BretFisher commented Mar 27, 2019 via email

@michaelthoward
Copy link

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.

@abuuzayr
Copy link

Here is the issue if anyone else is looking: docker/docs#8534

@olopsman
Copy link

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

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

@dongnguyenvie
Copy link

Same issue :(

@BretFisher
Copy link
Author

BretFisher commented Mar 9, 2020 via email

@EdwinSilvaDK
Copy link

Has this been fixed in docker 19.03.5 ?

@BretFisher
Copy link
Author

BretFisher commented Mar 10, 2020 via email

@EdwinSilvaDK
Copy link

EdwinSilvaDK commented Mar 10, 2020 via email

@claytonlemons
Copy link

@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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests