1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Use Container.Config.Shell instead of hardcoded…

… for healthcheck. It make the code a little cleaner and more
future/usage proof.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
This commit is contained in:
Vincent Demeester 2016-11-15 17:53:24 +01:00
parent 03f79a2115
commit 5f81cf11f6
No known key found for this signature in database
GPG key ID: 083CC6FD6EB699A3

View file

@ -12,6 +12,7 @@ import (
"github.com/Sirupsen/logrus" "github.com/Sirupsen/logrus"
"github.com/docker/docker/api/types" "github.com/docker/docker/api/types"
containertypes "github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/strslice" "github.com/docker/docker/api/types/strslice"
"github.com/docker/docker/container" "github.com/docker/docker/container"
"github.com/docker/docker/daemon/exec" "github.com/docker/docker/daemon/exec"
@ -63,11 +64,7 @@ func (p *cmdProbe) run(ctx context.Context, d *Daemon, container *container.Cont
cmdSlice := strslice.StrSlice(container.Config.Healthcheck.Test)[1:] cmdSlice := strslice.StrSlice(container.Config.Healthcheck.Test)[1:]
if p.shell { if p.shell {
if runtime.GOOS != "windows" { cmdSlice = append(getShell(container.Config), cmdSlice...)
cmdSlice = append([]string{"/bin/sh", "-c"}, cmdSlice...)
} else {
cmdSlice = append([]string{"cmd", "/S", "/C"}, cmdSlice...)
}
} }
entrypoint, args := d.getEntrypointAndArgs(strslice.StrSlice{}, cmdSlice) entrypoint, args := d.getEntrypointAndArgs(strslice.StrSlice{}, cmdSlice)
execConfig := exec.NewConfig() execConfig := exec.NewConfig()
@ -325,3 +322,13 @@ func min(x, y int) int {
} }
return y return y
} }
func getShell(config *containertypes.Config) []string {
if len(config.Shell) != 0 {
return config.Shell
}
if runtime.GOOS != "windows" {
return []string{"/bin/sh", "-c"}
}
return []string{"cmd", "/S", "/C"}
}