# /usr/bin/docker: Error response from daemon: driver failed programming external connectivity on endpoint app

**URL:** https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577
**Category:** Self-hosting
**Created:** [April 10, 2020, 8:10pm UTC](https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577 "2020-04-10T20:10:31Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![jameshahnii](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jameshahnii/32/108982_2.png) [@jameshahnii](https://meta.discourse.org/u/jameshahnii)
#### Post date: [April 10, 2020, 8:10pm UTC](https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577/1 "2020-04-10T20:10:31Z")

</div>

Hey guys, been stuck on this for over a week. I’ve read all of the relevant topics on meta and tried all the solutions here and elsewhere and nothing’s working. I’m just stumped.

Every time I try to `./launcher rebuild app` it goes all the way to the end and then…

```plaintext
Removing old container
+ /usr/bin/docker rm app
app

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_HOSTNAME=bitkcor.com -e DISCOURSE_DEVELOPER_EMAILS=admin@bitkcor.com -e DISCOURSE_SMTP_ADDRESS=smtp.mailgun.org -e DISCOURSE_SMTP_PORT=2525 -e DISCOURSE_SMTP_USER_NAME=postmaster@bitkcor.com -e DISCOURSE_SMTP_PASSWORD=af3ce4432f9613e0b36545e5c1b941c6-c1fe131e-22e64a1e -e LETSENCRYPT_ACCOUNT_EMAIL=admin@bitkcor.com -h bitkcor-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:d6:ee:ff:fa:8d local_discourse/app /sbin/boot
2bef25314e87e6c0679ced8f3c04dd8a98808350baba7a4ff94a3e4c55dc5c20
/usr/bin/docker: Error response from daemon: driver failed programming external connectivity on endpoint app (095c02cba7ddee18c64f04ccd1043408aa8ffed8a3c560b8eeeea133c7abe6c6): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.

```

Thinking the solution has got to be easy, but can’t find it.

Anybody know the answer?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [April 10, 2020, 8:16pm UTC](https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577/2 "2020-04-10T20:16:48Z")

</div>

> [@jameshahnii](#):
>
> `tcp 0.0.0.0:80: bind: address already in use.`

Something is clogging up port 80, which means webserver of some kind.

---

<div class="post-metadata">

### Author: ![jameshahnii](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jameshahnii/32/108982_2.png) [@jameshahnii](https://meta.discourse.org/u/jameshahnii)
#### Post date: [April 10, 2020, 8:19pm UTC](https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577/3 "2020-04-10T20:19:08Z")

</div>

Thanks Jeff, read your comment on a thread about this from '15 earlier today. Is there a terminal command to trace what’s using it?

---

<div class="post-metadata">

### Author: ![jameshahnii](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jameshahnii/32/108982_2.png) [@jameshahnii](https://meta.discourse.org/u/jameshahnii)
#### Post date: [April 10, 2020, 8:32pm UTC](https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577/4 "2020-04-10T20:32:10Z")

</div>

Tried `sudo lsof -i :80` and got.

```plaintext
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 3336 root 6u IPv4 21408 0t0 TCP *:http (LISTEN)
nginx 3336 root 7u IPv6 21409 0t0 TCP *:http (LISTEN)
nginx 3338 www-data 6u IPv4 21408 0t0 TCP *:http (LISTEN)
nginx 3338 www-data 7u IPv6 21409 0t0 TCP *:http (LISTEN)
nginx 3339 www-data 6u IPv4 21408 0t0 TCP *:http (LISTEN)
nginx 3339 www-data 7u IPv6 21409 0t0 TCP *:http (LISTEN)

```

---

<div class="post-metadata">

### Author: ![jameshahnii](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jameshahnii/32/108982_2.png) [@jameshahnii](https://meta.discourse.org/u/jameshahnii)
#### Post date: [April 10, 2020, 9:50pm UTC](https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577/5 "2020-04-10T21:50:51Z")

</div>

Okay, I was doing it wrong. Exited `root` and hit `sudo lsof -i :80` again. Still trying to figure out what this is, but it’s progress.

```plaintext
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google 671 triberocket 30u IPv4 0x1e729b312ca69e05 0t0 TCP 10.0.0.237:56713->server-13-249-71-64.dfw53.r.cloudfront.net:http (ESTABLISHED)
Google 671 triberocket 58u IPv4 0x1e729b311af72ba5 0t0 TCP 10.0.0.237:56714->server-13-249-71-64.dfw53.r.cloudfront.net:http (ESTABLISHED)

```

---

<div class="post-metadata">

### Author: ![jameshahnii](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jameshahnii/32/108982_2.png) [@jameshahnii](https://meta.discourse.org/u/jameshahnii)
#### Post date: [April 10, 2020, 11:31pm UTC](https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577/6 "2020-04-10T23:31:17Z")

</div>

Thoroughly confused now. Used **Activity Monitor** and sorted by Port. A `Google Drive File Stream` app I just downloaded was built to take port 80. App was wack so it gets the full delete and empty the trash. As soon as I shut down the Google App, something called `ContactAccountsServices` shows up in **Activity Manitor**. I shut it down and run a full computer restart.

Computer starts again. I discovered what `Google` above is two tabs in Chrome. Shut down Chrome and run `./launcher rebuild app`. After restart I go `ssh root@...` and ran `system reboot` on the Ubuntu server. That seemed to do something but you never want to get too excited. So I go back and long story short

```plaintext
2020-04-10 22:38:39.934 UTC [49] LOG: aborting any active transactions

2020-04-10 22:38:39.937 UTC [49] LOG: worker process: logical replication launcher (PID 58) exited with exit code 1

2020-04-10 22:38:39.939 UTC [53] LOG: shutting down

166:M 10 Apr 2020 22:38:39.942 # User requested shutdown...

166:M 10 Apr 2020 22:38:39.942 * Saving the final RDB snapshot before exiting.

2020-04-10 22:38:39.964 UTC [49] LOG: database system is shut down

166:M 10 Apr 2020 22:38:39.978 * DB saved on disk

166:M 10 Apr 2020 22:38:39.978 # Redis is now ready to exit, bye bye...

sha256:ab0f0c30c7e98b280832fc0355cd0a3eada6063b268b8ae1371e9d315b0ca43e

293cf39b9377bfd9dda6a0e3b9d43bde3e6dcc8341d34d9da21a155f18afb45c

Removing old container

+ /usr/bin/docker rm app

app

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_HOSTNAME=bitkcor.com -e DISCOURSE_DEVELOPER_EMAILS=admin@bitkcor.com -e DISCOURSE_SMTP_ADDRESS=smtp.mailgun.org -e DISCOURSE_SMTP_PORT=2525 -e DISCOURSE_SMTP_USER_NAME=postmaster@bitkcor.com -e DISCOURSE_SMTP_PASSWORD=af3ce4432f9613e0b36545e5c1b941c6-c1fe131e-22e64a1e -e LETSENCRYPT_ACCOUNT_EMAIL=admin@bitkcor.com -h bitkcor-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:d6:ee:ff:fa:8d local_discourse/app /sbin/boot

b2076d8166130c73c7d988e7e51ac100b9a12ce75f020328d0f47eebdad5e9a3

/usr/bin/docker: Error response from daemon: driver failed programming external connectivity on endpoint app (ba1f594a24e17f29cdaeb0cfe3f2a79af2bb7d22a28c4902c97d37e8f5036347): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.

```

So, yeah. I’m ready to get out grass skirts and chicken bones to debug this. It’s some Voodoo that’s got to be some simple thing I’m staring right at but have not tried. What that is, I cannot tell you. Can you tell me? Please? My sanity hangs in the balance. I’m better than this. lol

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [April 11, 2020, 12:03am UTC](https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577/7 "2020-04-11T00:03:06Z")

</div>

> [@jameshahnii](#):
>
> Tried `sudo lsof -i :80` and got.
> 
> copy
> 
> ```plaintext
> COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
> nginx 3336 root 6u IPv4 21408 0t0 TCP *:http (LISTEN)
> nginx
> 
> ```

Try `sudo systemctl stop nginx` .

---

<div class="post-metadata">

### Author: ![jameshahnii](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jameshahnii/32/108982_2.png) [@jameshahnii](https://meta.discourse.org/u/jameshahnii)
#### Post date: [April 11, 2020, 2:40am UTC](https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577/8 "2020-04-11T02:40:31Z")

</div>

Removed the nginx welcome page, but now nothing loads — [https://bitkcor.com/](https://bitkcor.com/)

---

<div class="post-metadata">

### Author: ![jameshahnii](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jameshahnii/32/108982_2.png) [@jameshahnii](https://meta.discourse.org/u/jameshahnii)
#### Post date: [April 11, 2020, 6:20pm UTC](https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577/9 "2020-04-11T18:20:52Z")

</div>

Still staring at a blank page. Do I need to restart something now? Any suggestions?

 ![Screenshot 2020-04-11 13.19.34](https://global.discourse-cdn.com/meta/original/3X/7/c/7c4150191dd1193b949e09ef1e7a4656c83339a4.png)

---

<div class="post-metadata">

### Author: ![jameshahnii](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jameshahnii/32/108982_2.png) [@jameshahnii](https://meta.discourse.org/u/jameshahnii)
#### Post date: [April 11, 2020, 6:25pm UTC](https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577/10 "2020-04-11T18:25:00Z")

</div>

Actually. Just set the SSL back to strict in Cloudflare and it brought it all back.

 ![Screenshot 2020-04-11 13.23.51](https://global.discourse-cdn.com/meta/original/3X/d/2/d25a6e778a1e41dc0d19b296c0788a3ec123fa0a.png)

`sudo systemctl stop nginx` was the answer.

Thank you @riking!

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [May 11, 2020, 6:25pm UTC](https://meta.discourse.org/t/usr-bin-docker-error-response-from-daemon-driver-failed-programming-external-connectivity-on-endpoint-app/147577/11 "2020-05-11T18:25:05Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
