简体   繁体   中英

docker-proxy - Error starting userland proxy while trying to bind on 443

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

在此处输入图片说明

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 |第 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

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

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

{
    "userland-proxy": false
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM