Docker Community Forums

Share and learn in the Docker community.

Publishing haproxy ports causes duplicate ports


(Amir20) #1

Hello,

Everytime I create a new haproxy container and try to publish port 80, I receive an error regarding duplicate ports. You can see the error in the screenshot.

Did something change because this didn’t happen before?

Steps to produce:

  1. Create a new service
  2. Create new a HAProxy and link the new proxy
  3. Try publish port 80
  4. Notice another port also gets selected. Probably bug
  5. Click save and notice the error is displayed and it cannot be deployed

Receiving Duplicate Outer Port '80/tcp' error even though Node doesn't show port is taken
(Ryan Watts) #2

This is a Major bug. It appears to have been introduced in the latest update to Docker Cloud. I definitely was not receiving this error a week ago.
If you try to add another port. It adds 4 empty slots. Why was there an update released that would make it virtually impossible to use this feature.

This forced me to install the docker-cloud cli just to configure my client sites. Essentially putting 3 clients behind schedule for launch. Definitely not a good move from the docker staff. And yet this issue has still not been handled. !!!


(Amir20) #3

@rwatts This is very frustrating for sure. We are evaluating Docker Cloud at work and this definitely makes it hard for us to move everything over if things like these continue.

At least it works with the CLI. I hadn’t tried that.


(Matias De Carli) #4

I have a workaround for this. Clearly not the ideal solution, but if you need to get things going, this is maybe your only chance…

If you go to chrome developer tools, you should select the POST and select “Copy as CURL”. This way on your favorite text editor you can see what is sending, and you can see a parameter like this

“container_ports”:[{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:"",“protocol”:“tcp”,“published”:false},{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”}]

You should delete all that and only let this

“container_ports”:[{“inner_port”:“443”,“protocol”:“tcp”,“published”:false},{“inner_port”:“80”,“protocol”:“tcp”,“published”:true,“outer_port”:“80”},{“inner_port”:“1936”,“protocol”:“tcp”,“published”:false}]

then copy the CURL and paste it on any console. That will create the service


(Russell Palmiter) #5

This bug is preventing me from being able to use Docker Cloud. I would greatly appreciate it if someone reached out to me when this is fixed.


(Michaldudek) #6

The problem still occurs (22.07), but my workaround was to simply switch to Classic UI :slight_smile: Seems like the new UI is still beta and has some issues, so whenever smth fails I try it in the classic and that usually solves it.


(Martin F) #7

Same problem here… really annoying and preventing from using the new UI.