Skip to content

daemon crashing on invalid ports directive #14621

@sutyrin

Description

@sutyrin

Hi folks,

Consider the following docker-compose.yml

test:
    image: spacediver/python
    ports:
      - "127.0.0.180:80"

Notice the error in ports, originally I meant to say "127.0.0.1:80:80"

Trying to start it we may see (with docker 1.7.0, docker-compose 1.3.0) this:

root@17934123d4d1:~# docker-compose up                 
Creating root_test_1...
Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

Why would this happen?

Running docker with -D reveals (http://pastebin.com/caDWGW8Q) that there's an exception in daemon that happens at parsing invalid ports directive ("127.0.0.180:80")

Trying to run the same with docker CLI would validate ports directive well before sending to daemon:

root@17934123d4d1:~# docker run --rm -ti -p 127.0.0.180:80 spacediver/python 
docker: Invalid hostPort: 127.0.0.180.
See 'docker run --help'.

Should the daemon check input data and do not crash on parsing error?

Here is my environment information: http://pastebin.com/3LaAh4YT

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugBugs are bugs. The cause may or may not be known at triage time so debugging may be needed.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions