Docker For Mac Error starting userland proxy: failed to bind port: Unix.Unix_error(Unix.EACCES, "bind", "")

Expected behavior

  1. Connect to VPN
  2. Start container
  3. Container can connect to database server on host VPN

Actual behavior

The container can not connect to the database server on the host VPN network while in default bridge mode, not or hostnet.

I tried pinata set network bridge external-bind=true and pinata set network hostnet external-bind=true

both are getting this error:

docker: Error response from daemon: driver failed programming external connectivity on endpoint homepage (c54d955830ff71117f43bb391c3ed445474a1914e0d6cf687092143152914b4e): Error starting userland proxy: failed to bind port: Unix.Unix_error(Unix.EACCES, “bind”, “”).

Information

rconigliaros-MacBook-Pro:mpt-docker rconigliaro$ pinata diagnose -u
OS X: version 10.11.3 (build: 15D21)
Docker.app: version v1.11.0-beta7
Running diagnostic tests:
[OK] docker-cli
[OK] Moby booted
[OK] driver.amd64-linux
[OK] vmnetd
[OK] osxfs
[OK] db
[OK] slirp
[OK] menubar
[OK] environment
[OK] Docker
[OK] VT-x
Docker logs are being collected into /tmp/20160418-012617.tar.gz
Most specific failure is: No error was detected
Your unique id is: 964DE9DF-2FC4-4809-9C9A-977C9F524717
Please quote this in all correspondence.
)

Mac OS 10.11.3

rconigliaros-MacBook-Pro:~ rconigliaro$ ifconfig

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384

options=3<RXCSUM,TXCSUM>

inet6 ::1 prefixlen 128

inet 127.0.0.1 netmask 0xff000000

inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1

nd6 options=1

gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280

stf0: flags=0<> mtu 1280

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500

ether f4:5c:89:8c:22:0b

inet6 fe80::f65c:89ff:fe8c:220b%en0 prefixlen 64 scopeid 0x5

inet 192.168.1.141 netmask 0xffffff00 broadcast 192.168.1.255

nd6 options=1

media: autoselect

status: active

en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500

options=60<TSO4,TSO6>

ether 4a:00:04:36:55:40

media: autoselect

status: inactive

en2: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500

options=60<TSO4,TSO6>

ether 4a:00:04:36:55:41

media: autoselect

status: inactive

bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500

options=63<RXCSUM,TXCSUM,TSO4,TSO6>

ether 06:69:f8:be:61:00

Configuration:

id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0

maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200

root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0

ipfilter disabled flags 0x2

member: en1 flags=3<LEARNING,DISCOVER>

    ifmaxaddr 0 port 6 priority 0 path cost 0

member: en2 flags=3<LEARNING,DISCOVER>

    ifmaxaddr 0 port 7 priority 0 path cost 0

nd6 options=1

media:

status: inactive

p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304

ether 06:5c:89:8c:22:0b

media: autoselect

status: inactive

awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484

ether 82:fe:cb:ba:25:26

inet6 fe80::80fe:cbff:feba:2526%awdl0 prefixlen 64 scopeid 0xa

nd6 options=1

media: autoselect

status: active

vboxnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500

ether 0a:00:27:00:00:00

inet 192.168.99.1 netmask 0xffffff00 broadcast 192.168.99.255

jnc0: flags=841<UP,RUNNING,SIMPLEX> mtu 1216

inet 10.3.13.8 netmask 0xffffffff

open (pid 68393)

jnc1: flags=841<UP,RUNNING,SIMPLEX> mtu 1450

closed

en7: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500

ether ce:d4:e0:f8:7b:57

media: autoselect

status: active

bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500

options=3<RXCSUM,TXCSUM>

ether f6:5c:89:c8:29:64

inet 192.168.64.1 netmask 0xffffff00 broadcast 192.168.64.255

Configuration:

id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0

maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200

root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0

ipfilter disabled flags 0x2

member: en7 flags=3<LEARNING,DISCOVER>

    ifmaxaddr 0 port 15 priority 0 path cost 0

nd6 options=1

media: autoselect

status: active

rconigliaros-MacBook-Pro:mpt-docker rconigliaro$ docker network inspect bridge

[

{

    "Name": "bridge",

    "Id": "13dec6a7b8a8f5cc17c044a86bc8cab23d4cff8744581af3d3b8a1dd85a592eb",

    "Scope": "local",

    "Driver": "bridge",

    "EnableIPv6": false,

    "IPAM": {

        "Driver": "default",

        "Options": null,

        "Config": [

            {

                "Subnet": "172.17.0.0/16"

            }

        ]

    },

    "Internal": false,

    "Containers": {

        "a874ccc773d3720573d454216c46e106897e07a5d2f75b0100d065821a424238": {

            "Name": "homepage",

            "EndpointID": "0a02033519908565d32430aaf4dfa36ce71b37aaadbeb435c2a68f3bf3089a37",

            "MacAddress": "02:42:ac:11:00:02",

            "IPv4Address": "172.17.0.2/16",

            "IPv6Address": ""

        }

    },

    "Options": {

        "com.docker.network.bridge.default_bridge": "true",

        "com.docker.network.bridge.enable_icc": "true",

        "com.docker.network.bridge.enable_ip_masquerade": "true",

        "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",

        "com.docker.network.bridge.name": "docker0",

        "com.docker.network.driver.mtu": "1500"

    },

    "Labels": {}

}

]

rconigliaros-MacBook-Pro:mpt-docker rconigliaro$ ping 10.133.125.250

PING 10.133.125.250 (10.133.125.250): 56 data bytes

64 bytes from 10.133.125.250: icmp_seq=0 ttl=60 time=34.997 ms

64 bytes from 10.133.125.250: icmp_seq=1 ttl=60 time=17.684 ms

64 bytes from 10.133.125.250: icmp_seq=2 ttl=60 time=21.514 ms

64 bytes from 10.133.125.250: icmp_seq=3 ttl=60 time=18.639 ms

64 bytes from 10.133.125.250: icmp_seq=4 ttl=60 time=25.994 ms

^C

— 10.133.125.250 ping statistics —

5 packets transmitted, 5 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 17.684/23.766/34.997/6.316 ms

rconigliaros-MacBook-Pro:mpt-docker rconigliaro$ docker exec -it homepage bash

[root@a874ccc773d3 /]# ping 10.133.125.250

PING 10.133.125.250 (10.133.125.250) 56(84) bytes of data.

^C

— 10.133.125.250 ping statistics —

10 packets transmitted, 0 received, 100% packet loss, time 9057ms

[root@a874ccc773d3 /]# ping google.com

PING google.com (216.58.219.206) 56(84) bytes of data.

64 bytes from lga25s40-in-f206.1e100.net (216.58.219.206): icmp_seq=1 ttl=49 time=14.3 ms

64 bytes from lga25s40-in-f206.1e100.net (216.58.219.206): icmp_seq=2 ttl=49 time=14.7 ms

64 bytes from lga25s40-in-f206.1e100.net (216.58.219.206): icmp_seq=3 ttl=49 time=18.0 ms

64 bytes from lga25s40-in-f206.1e100.net (216.58.219.206): icmp_seq=4 ttl=49 time=13.0 ms

rconigliaros-MacBook-Pro:mpt-docker rconigliaro$ pinata set network nat external-bind=true

network nat/external-bind → true

network → nat

rconigliaros-MacBook-Pro:mpt-docker rconigliaro$ docker rm -f homepage

homepage

rconigliaros-MacBook-Pro:mpt-docker rconigliaro$ docker run -d --name=homepage -p 80:80 -v /Users/rconigliaro/git/mpt-php:/var/web/www.medpagetoday.com -e VIRTUAL_HOST=mptvm.medpagetoday.com mpt/php

db2f1fbf539f045742b0fc6bec9b6e6baa84c076ddfb15686b1c4d4c00e9a914

docker: Error response from daemon: driver failed programming external connectivity on endpoint homepage (32bd2c4231576cf68de3860d974c3c6099603905728b1ae06aee66043de70af5): Error starting userland proxy: failed to bind port: Unix.Unix_error(Unix.EACCES, “bind”, “”).

rconigliaros-MacBook-Pro:mpt-docker rconigliaro$ docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

rconigliaros-MacBook-Pro:mpt-docker rconigliaro$ docker rm -f homepage

homepage

rconigliaros-MacBook-Pro:mpt-docker rconigliaro$ pinata set network hostnet

network → hostnet

rconigliaros-MacBook-Pro:mpt-docker rconigliaro$ docker run -d --name=homepage -p 80:80 -v /Users/rconigliaro/git/mpt-php:/var/web/www.medpagetoday.com -e VIRTUAL_HOST=mptvm.medpagetoday.com mpt/php

4541948c7d05d9498ee17cd15bfac727b7fc191a9fdde24c35a28d9ab4a79013

docker: Error response from daemon: driver failed programming external connectivity on endpoint homepage (c54d955830ff71117f43bb391c3ed445474a1914e0d6cf687092143152914b4e): Error starting userland proxy: failed to bind port: Unix.Unix_error(Unix.EACCES, “bind”, “”).

rconigliaros-MacBook-Pro:mpt-docker rconigliaro$ docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

@rmc33 this is a known issue with VPN Compatibility Mode. It’s unable to bind to ports < 1024. This should be fixed in the next beta release.

1 Like

If you restart your pc, works ok, in my case if i restart works, but is not an answer…