Make blank -H option default to the same as no -H was sent
| ... | ... |
@@ -117,6 +117,11 @@ For example: |
| 117 | 117 |
* ``tcp://host:4243`` -> tcp connection on host:4243 |
| 118 | 118 |
* ``unix://path/to/socket`` -> unix socket located at ``path/to/socket`` |
| 119 | 119 |
|
| 120 |
+``-H``, when empty, will default to the same value as when no ``-H`` was passed in. |
|
| 121 |
+ |
|
| 122 |
+``-H`` also accepts short form for TCP bindings: |
|
| 123 |
+``host[:port]`` or ``:port`` |
|
| 124 |
+ |
|
| 120 | 125 |
.. code-block:: bash |
| 121 | 126 |
|
| 122 | 127 |
# Run docker in daemon mode |
| ... | ... |
@@ -781,7 +781,7 @@ func ParseHost(defaultHost string, defaultPort int, defaultUnix, addr string) (s |
| 781 | 781 |
host string |
| 782 | 782 |
port int |
| 783 | 783 |
) |
| 784 |
- |
|
| 784 |
+ addr = strings.TrimSpace(addr) |
|
| 785 | 785 |
switch {
|
| 786 | 786 |
case strings.HasPrefix(addr, "unix://"): |
| 787 | 787 |
proto = "unix" |
| ... | ... |
@@ -792,6 +792,9 @@ func ParseHost(defaultHost string, defaultPort int, defaultUnix, addr string) (s |
| 792 | 792 |
case strings.HasPrefix(addr, "tcp://"): |
| 793 | 793 |
proto = "tcp" |
| 794 | 794 |
addr = strings.TrimPrefix(addr, "tcp://") |
| 795 |
+ case addr == "": |
|
| 796 |
+ proto = "unix" |
|
| 797 |
+ addr = defaultUnix |
|
| 795 | 798 |
default: |
| 796 | 799 |
if strings.Contains(addr, "://") {
|
| 797 | 800 |
return "", fmt.Errorf("Invalid bind address protocol: %s", addr)
|
| ... | ... |
@@ -316,6 +316,9 @@ func TestParseHost(t *testing.T) {
|
| 316 | 316 |
if addr, err := ParseHost(defaultHttpHost, defaultHttpPort, defaultUnix, "tcp://:7777"); err != nil || addr != "tcp://127.0.0.1:7777" {
|
| 317 | 317 |
t.Errorf("tcp://:7777 -> expected tcp://127.0.0.1:7777, got %s", addr)
|
| 318 | 318 |
} |
| 319 |
+ if addr, err := ParseHost(defaultHttpHost, defaultHttpPort, defaultUnix, ""); err != nil || addr != "unix:///var/run/docker.sock" {
|
|
| 320 |
+ t.Errorf("empty argument -> expected unix:///var/run/docker.sock, got %s", addr)
|
|
| 321 |
+ } |
|
| 319 | 322 |
if addr, err := ParseHost(defaultHttpHost, defaultHttpPort, defaultUnix, "unix:///var/run/docker.sock"); err != nil || addr != "unix:///var/run/docker.sock" {
|
| 320 | 323 |
t.Errorf("unix:///var/run/docker.sock -> expected unix:///var/run/docker.sock, got %s", addr)
|
| 321 | 324 |
} |