diff --git a/cli/command/container/opts.go b/cli/command/container/opts.go index 7480bfaced..cff3bf67bb 100644 --- a/cli/command/container/opts.go +++ b/cli/command/container/opts.go @@ -230,10 +230,10 @@ func addFlags(flags *pflag.FlagSet) *containerOptions { // Health-checking flags.StringVar(&copts.healthCmd, "health-cmd", "", "Command to run to check health") - flags.DurationVar(&copts.healthInterval, "health-interval", 0, "Time between running the check (ns|us|ms|s|m|h) (default 0s)") + flags.DurationVar(&copts.healthInterval, "health-interval", 0, "Time between running the check (ms|s|m|h) (default 0s)") flags.IntVar(&copts.healthRetries, "health-retries", 0, "Consecutive failures needed to report unhealthy") - flags.DurationVar(&copts.healthTimeout, "health-timeout", 0, "Maximum time to allow one check to run (ns|us|ms|s|m|h) (default 0s)") - flags.DurationVar(&copts.healthStartPeriod, "health-start-period", 0, "Start period for the container to initialize before starting health-retries countdown (ns|us|ms|s|m|h) (default 0s)") + flags.DurationVar(&copts.healthTimeout, "health-timeout", 0, "Maximum time to allow one check to run (ms|s|m|h) (default 0s)") + flags.DurationVar(&copts.healthStartPeriod, "health-start-period", 0, "Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s)") flags.SetAnnotation("health-start-period", "version", []string{"1.29"}) flags.BoolVar(&copts.noHealthcheck, "no-healthcheck", false, "Disable any container-specified HEALTHCHECK") diff --git a/cli/command/service/opts.go b/cli/command/service/opts.go index 4211c5bf8c..ecc37d7b00 100644 --- a/cli/command/service/opts.go +++ b/cli/command/service/opts.go @@ -802,13 +802,13 @@ func addServiceFlags(flags *pflag.FlagSet, opts *serviceOptions, defaultFlagValu flags.StringVar(&opts.healthcheck.cmd, flagHealthCmd, "", "Command to run to check health") flags.SetAnnotation(flagHealthCmd, "version", []string{"1.25"}) - flags.Var(&opts.healthcheck.interval, flagHealthInterval, "Time between running the check (ns|us|ms|s|m|h)") + flags.Var(&opts.healthcheck.interval, flagHealthInterval, "Time between running the check (ms|s|m|h)") flags.SetAnnotation(flagHealthInterval, "version", []string{"1.25"}) - flags.Var(&opts.healthcheck.timeout, flagHealthTimeout, "Maximum time to allow one check to run (ns|us|ms|s|m|h)") + flags.Var(&opts.healthcheck.timeout, flagHealthTimeout, "Maximum time to allow one check to run (ms|s|m|h)") flags.SetAnnotation(flagHealthTimeout, "version", []string{"1.25"}) flags.IntVar(&opts.healthcheck.retries, flagHealthRetries, 0, "Consecutive failures needed to report unhealthy") flags.SetAnnotation(flagHealthRetries, "version", []string{"1.25"}) - flags.Var(&opts.healthcheck.startPeriod, flagHealthStartPeriod, "Start period for the container to initialize before counting retries towards unstable (ns|us|ms|s|m|h)") + flags.Var(&opts.healthcheck.startPeriod, flagHealthStartPeriod, "Start period for the container to initialize before counting retries towards unstable (ms|s|m|h)") flags.SetAnnotation(flagHealthStartPeriod, "version", []string{"1.29"}) flags.BoolVar(&opts.healthcheck.noHealthcheck, flagNoHealthcheck, false, "Disable any container-specified HEALTHCHECK") flags.SetAnnotation(flagNoHealthcheck, "version", []string{"1.25"}) diff --git a/daemon/container.go b/daemon/container.go index 50878f01e9..a3482687b7 100644 --- a/daemon/container.go +++ b/daemon/container.go @@ -244,20 +244,20 @@ func (daemon *Daemon) verifyContainerSettings(hostConfig *containertypes.HostCon // Validate the healthcheck params of Config if config.Healthcheck != nil { - if config.Healthcheck.Interval != 0 && config.Healthcheck.Interval < time.Second { - return nil, fmt.Errorf("Interval in Healthcheck cannot be less than one second") + if config.Healthcheck.Interval != 0 && config.Healthcheck.Interval < time.Millisecond { + return nil, fmt.Errorf("Interval in Healthcheck cannot be less than one millisecond") } - if config.Healthcheck.Timeout != 0 && config.Healthcheck.Timeout < time.Second { - return nil, fmt.Errorf("Timeout in Healthcheck cannot be less than one second") + if config.Healthcheck.Timeout != 0 && config.Healthcheck.Timeout < time.Millisecond { + return nil, fmt.Errorf("Timeout in Healthcheck cannot be less than one millisecond") } if config.Healthcheck.Retries < 0 { return nil, fmt.Errorf("Retries in Healthcheck cannot be negative") } - if config.Healthcheck.StartPeriod < 0 { - return nil, fmt.Errorf("StartPeriod in Healthcheck cannot be negative") + if config.Healthcheck.StartPeriod != 0 && config.Healthcheck.StartPeriod < time.Millisecond { + return nil, fmt.Errorf("StartPeriod in Healthcheck cannot be less than one millisecond") } } } diff --git a/docs/reference/commandline/service_create.md b/docs/reference/commandline/service_create.md index 082dffb827..78faa98bf7 100644 --- a/docs/reference/commandline/service_create.md +++ b/docs/reference/commandline/service_create.md @@ -33,10 +33,10 @@ Options: --env-file list Read in a file of environment variables --group list Set one or more supplementary user groups for the container --health-cmd string Command to run to check health - --health-interval duration Time between running the check (ns|us|ms|s|m|h) + --health-interval duration Time between running the check (ms|s|m|h) --health-retries int Consecutive failures needed to report unhealthy - --health-start-period duration Start period for the container to initialize before counting retries towards unstable (ns|us|ms|s|m|h) - --health-timeout duration Maximum time to allow one check to run (ns|us|ms|s|m|h) + --health-start-period duration Start period for the container to initialize before counting retries towards unstable (ms|s|m|h) + --health-timeout duration Maximum time to allow one check to run (ms|s|m|h) --help Print usage --host list Set one or more custom host-to-IP mappings (host:ip) --hostname string Container hostname diff --git a/docs/reference/commandline/service_update.md b/docs/reference/commandline/service_update.md index fae6b0af89..93c5750eee 100644 --- a/docs/reference/commandline/service_update.md +++ b/docs/reference/commandline/service_update.md @@ -41,10 +41,10 @@ Options: --group-add list Add an additional supplementary user group to the container --group-rm list Remove a previously added supplementary user group from the container --health-cmd string Command to run to check health - --health-interval duration Time between running the check (ns|us|ms|s|m|h) + --health-interval duration Time between running the check (ms|s|m|h) --health-retries int Consecutive failures needed to report unhealthy - --health-start-period duration Start period for the container to initialize before counting retries towards unstable (ns|us|ms|s|m|h) - --health-timeout duration Maximum time to allow one check to run (ns|us|ms|s|m|h) + --health-start-period duration Start period for the container to initialize before counting retries towards unstable (ms|s|m|h) + --health-timeout duration Maximum time to allow one check to run (ms|s|m|h) --help Print usage --host-add list Add or update a custom host-to-IP mapping (host:ip) --host-rm list Remove a custom host-to-IP mapping (host:ip)