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:
parent
03f79a2115
commit
5f81cf11f6
1 changed files with 12 additions and 5 deletions
|
@ -12,6 +12,7 @@ import (
|
|||
|
||||
"github.com/Sirupsen/logrus"
|
||||
"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/container"
|
||||
"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:]
|
||||
if p.shell {
|
||||
if runtime.GOOS != "windows" {
|
||||
cmdSlice = append([]string{"/bin/sh", "-c"}, cmdSlice...)
|
||||
} else {
|
||||
cmdSlice = append([]string{"cmd", "/S", "/C"}, cmdSlice...)
|
||||
}
|
||||
cmdSlice = append(getShell(container.Config), cmdSlice...)
|
||||
}
|
||||
entrypoint, args := d.getEntrypointAndArgs(strslice.StrSlice{}, cmdSlice)
|
||||
execConfig := exec.NewConfig()
|
||||
|
@ -325,3 +322,13 @@ func min(x, y int) int {
|
|||
}
|
||||
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"}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue