Merge pull request #3377 from cpuguy83/3333-fix_-H_default

Make blank -H option default to the same as no -H was sent
This commit is contained in:
Victor Vieux 2014-01-06 11:30:27 -08:00
commit 4e414f6205
3 changed files with 12 additions and 1 deletions

View File

@ -117,6 +117,11 @@ For example:
* ``tcp://host:4243`` -> tcp connection on host:4243 * ``tcp://host:4243`` -> tcp connection on host:4243
* ``unix://path/to/socket`` -> unix socket located at ``path/to/socket`` * ``unix://path/to/socket`` -> unix socket located at ``path/to/socket``
``-H``, when empty, will default to the same value as when no ``-H`` was passed in.
``-H`` also accepts short form for TCP bindings:
``host[:port]`` or ``:port``
.. code-block:: bash .. code-block:: bash
# Run docker in daemon mode # Run docker in daemon mode

View File

@ -781,7 +781,7 @@ func ParseHost(defaultHost string, defaultPort int, defaultUnix, addr string) (s
host string host string
port int port int
) )
addr = strings.TrimSpace(addr)
switch { switch {
case strings.HasPrefix(addr, "unix://"): case strings.HasPrefix(addr, "unix://"):
proto = "unix" proto = "unix"
@ -792,6 +792,9 @@ func ParseHost(defaultHost string, defaultPort int, defaultUnix, addr string) (s
case strings.HasPrefix(addr, "tcp://"): case strings.HasPrefix(addr, "tcp://"):
proto = "tcp" proto = "tcp"
addr = strings.TrimPrefix(addr, "tcp://") addr = strings.TrimPrefix(addr, "tcp://")
case addr == "":
proto = "unix"
addr = defaultUnix
default: default:
if strings.Contains(addr, "://") { if strings.Contains(addr, "://") {
return "", fmt.Errorf("Invalid bind address protocol: %s", addr) return "", fmt.Errorf("Invalid bind address protocol: %s", addr)

View File

@ -316,6 +316,9 @@ func TestParseHost(t *testing.T) {
if addr, err := ParseHost(defaultHttpHost, defaultHttpPort, defaultUnix, "tcp://:7777"); err != nil || addr != "tcp://127.0.0.1:7777" { if addr, err := ParseHost(defaultHttpHost, defaultHttpPort, defaultUnix, "tcp://:7777"); err != nil || addr != "tcp://127.0.0.1:7777" {
t.Errorf("tcp://:7777 -> expected tcp://127.0.0.1:7777, got %s", addr) t.Errorf("tcp://:7777 -> expected tcp://127.0.0.1:7777, got %s", addr)
} }
if addr, err := ParseHost(defaultHttpHost, defaultHttpPort, defaultUnix, ""); err != nil || addr != "unix:///var/run/docker.sock" {
t.Errorf("empty argument -> expected unix:///var/run/docker.sock, got %s", addr)
}
if addr, err := ParseHost(defaultHttpHost, defaultHttpPort, defaultUnix, "unix:///var/run/docker.sock"); err != nil || addr != "unix:///var/run/docker.sock" { if addr, err := ParseHost(defaultHttpHost, defaultHttpPort, defaultUnix, "unix:///var/run/docker.sock"); err != nil || addr != "unix:///var/run/docker.sock" {
t.Errorf("unix:///var/run/docker.sock -> expected unix:///var/run/docker.sock, got %s", addr) t.Errorf("unix:///var/run/docker.sock -> expected unix:///var/run/docker.sock, got %s", addr)
} }