diff --git a/config/docker_config.go b/config/docker_config.go index 664aad80..ec600158 100644 --- a/config/docker_config.go +++ b/config/docker_config.go @@ -41,6 +41,10 @@ func generateEngineOptsSlice(opts EngineOpts) []string { optsSlice = append(optsSlice, fmt.Sprintf("--%s=false", optTag)) } } + case []string: + for _, elem := range value { + optsSlice = append(optsSlice, fmt.Sprintf("--%s", optTag), elem) + } case map[string]string: for k, v := range value { optsSlice = append(optsSlice, fmt.Sprintf("--%s", optTag), fmt.Sprintf("%s=%s", k, v)) diff --git a/config/docker_config_test.go b/config/docker_config_test.go index 853669a3..adccf21b 100644 --- a/config/docker_config_test.go +++ b/config/docker_config_test.go @@ -30,6 +30,13 @@ func TestGenerateEngineOptsString(t *testing.T) { SelinuxEnabled: &[]bool{false}[0], })), "--selinux-enabled=false") + testContains(t, fmt.Sprint(generateEngineOptsSlice(EngineOpts{ + Host: []string{ + "unix:///var/run/system-docker.sock", + "unix:///var/run/docker.sock", + }, + })), "--host unix:///var/run/system-docker.sock", "--host unix:///var/run/docker.sock") + testContains(t, fmt.Sprint(generateEngineOptsSlice(EngineOpts{ LogOpts: map[string]string{ "max-size": "25m", diff --git a/config/types.go b/config/types.go index f8d5a4f7..33700668 100644 --- a/config/types.go +++ b/config/types.go @@ -140,7 +140,7 @@ type EngineOpts struct { ExecRoot string `yaml:"exec_root,omitempty" opt:"exec-root"` Group string `yaml:"group,omitempty" opt:"group"` Graph string `yaml:"graph,omitempty" opt:"graph"` - Host string `yaml:"host,omitempty" opt:"host"` + Host []string `yaml:"host,omitempty" opt:"host"` LiveRestore *bool `yaml:"live_restore,omitempty" opt:"live-restore"` LogDriver string `yaml:"log_driver,omitempty" opt:"log-driver"` LogOpts map[string]string `yaml:"log_opts,omitempty" opt:"log-opt"` diff --git a/os-config.tpl.yml b/os-config.tpl.yml index ca0e72e9..0d2d652f 100644 --- a/os-config.tpl.yml +++ b/os-config.tpl.yml @@ -36,7 +36,7 @@ rancher: restart: false graph: /var/lib/system-docker group: root - host: "unix:///var/run/system-docker.sock" + host: ["unix:///var/run/system-docker.sock"] userland_proxy: false console: default cloud_init: @@ -336,7 +336,7 @@ rancher: restart: false graph: /var/lib/system-docker group: root - host: "unix:///var/run/system-docker.sock" + host: ["unix:///var/run/system-docker.sock"] pid_file: /var/run/system-docker.pid exec_root: /var/run/system-docker config_file: /etc/docker/system-docker.json @@ -355,7 +355,7 @@ rancher: {{end -}} storage_driver: overlay group: docker - host: "unix:///var/run/docker.sock" + host: ["unix:///var/run/docker.sock"] log_opts: max-size: 25m max-file: 2