3

I'm trying to install discourse with docker in an Ubuntu 16.04 LTS with Apache listening to port 80 and 443.

enter image description here

When I try to lunch the app I get the following error:

starting up existing container + /usr/bin/docker start app Error response from daemon: driver failed programming external connectivity on endpoint app (dade361e77fbf29f4d9667febe57a06f168f916148e10cc1365093d8f97026bb): Error starting userland proxy: listen tcp 0.0.0.0:443: listen: address already in use Error: failed to start containers: app

For what I'v found docker-proxy is the one that is trying to bind on 443.

netstat -tulpn | grep 443

How can I solve this?

Some details...

docker version
Client:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   b9f10c9
 Built:        Wed Jun  1 22:00:43 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.2
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   b9f10c9
 Built:        Wed Jun  1 22:00:43 2016
 OS/Arch:      linux/amd64


docker info
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 4
Server Version: 1.11.2
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 25
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null host bridge
Kernel Version: 4.4.0-28-generic
Operating System: Ubuntu 16.04 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 31.39 GiB
Name: sd-12345
ID: 6OLH:SAG5:VWTW:BL7U:6QYH:4BBS:QHBN:37MY:DLXA:W64E:4EVZ:WBAK
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
PJunior
  • 2,649
  • 1
  • 33
  • 29

2 Answers2

7

perhaps, stop apache? – vitr Jul 22 '16 at 2:56

^^^ This comment from vitr should be the Accepted Answer:

Docker cannot proxy a service from within a container to the port on the host without first stopping any services that are already using that port.

In this case, Apache must be stopped with a command such as sudo service apache2 stop.

Then docker start app can then be run and docker should do its thing unhindered.

See the related question: docker run -> name is already in use by container

0

Edit /etc/docker/daemon.json and add:

{
    "userland-proxy": false
}
flaxel
  • 4,173
  • 4
  • 17
  • 30
np0
  • 1
  • 2