diff --git a/cli/command/container/create.go b/cli/command/container/create.go index ac8e6083fe..9930e5f8e7 100644 --- a/cli/command/container/create.go +++ b/cli/command/container/create.go @@ -207,7 +207,6 @@ func createContainer(ctx context.Context, dockerCli command.Cli, containerCfg *c hostConfig := containerCfg.HostConfig networkingConfig := containerCfg.NetworkingConfig - warnOnOomKillDisable(*hostConfig, dockerCli.Err()) warnOnLocalhostDNS(*hostConfig, dockerCli.Err()) var ( @@ -299,12 +298,6 @@ func createContainer(ctx context.Context, dockerCli command.Cli, containerCfg *c return response.ID, err } -func warnOnOomKillDisable(hostConfig container.HostConfig, stderr io.Writer) { - if hostConfig.OomKillDisable != nil && *hostConfig.OomKillDisable && hostConfig.Memory == 0 { - _, _ = fmt.Fprintln(stderr, "WARNING: Disabling the OOM killer on containers without setting a '-m/--memory' limit may be dangerous.") - } -} - // check the DNS settings passed via --dns against localhost regexp to warn if // they are trying to set a DNS to a localhost address func warnOnLocalhostDNS(hostConfig container.HostConfig, stderr io.Writer) { diff --git a/cli/command/container/create_test.go b/cli/command/container/create_test.go index a5a09ce54a..0b39542c56 100644 --- a/cli/command/container/create_test.go +++ b/cli/command/container/create_test.go @@ -270,31 +270,24 @@ func TestNewCreateCommandWithContentTrustErrors(t *testing.T) { func TestNewCreateCommandWithWarnings(t *testing.T) { testCases := []struct { - name string - args []string - warning bool + name string + args []string + warnings []string + warning bool }{ { - name: "container-create-without-oom-kill-disable", + name: "container-create-no-warnings", args: []string{"image:tag"}, }, { - name: "container-create-oom-kill-disable-false", - args: []string{"--oom-kill-disable=false", "image:tag"}, + name: "container-create-daemon-single-warning", + args: []string{"image:tag"}, + warnings: []string{"warning from daemon"}, }, { - name: "container-create-oom-kill-without-memory-limit", - args: []string{"--oom-kill-disable", "image:tag"}, - warning: true, - }, - { - name: "container-create-oom-kill-true-without-memory-limit", - args: []string{"--oom-kill-disable=true", "image:tag"}, - warning: true, - }, - { - name: "container-create-oom-kill-true-with-memory-limit", - args: []string{"--oom-kill-disable=true", "--memory=100M", "image:tag"}, + name: "container-create-daemon-multiple-warnings", + args: []string{"image:tag"}, + warnings: []string{"warning from daemon", "another warning from daemon"}, }, { name: "container-create-localhost-dns", @@ -316,7 +309,7 @@ func TestNewCreateCommandWithWarnings(t *testing.T) { platform *specs.Platform, containerName string, ) (container.CreateResponse, error) { - return container.CreateResponse{}, nil + return container.CreateResponse{Warnings: tc.warnings}, nil }, }) cmd := NewCreateCommand(fakeCLI) @@ -324,7 +317,7 @@ func TestNewCreateCommandWithWarnings(t *testing.T) { cmd.SetArgs(tc.args) err := cmd.Execute() assert.NilError(t, err) - if tc.warning { + if tc.warning || len(tc.warnings) > 0 { golden.Assert(t, fakeCLI.ErrBuffer().String(), tc.name+".golden") } else { assert.Equal(t, fakeCLI.ErrBuffer().String(), "") diff --git a/cli/command/container/testdata/container-create-daemon-multiple-warnings.golden b/cli/command/container/testdata/container-create-daemon-multiple-warnings.golden new file mode 100644 index 0000000000..8198798ce7 --- /dev/null +++ b/cli/command/container/testdata/container-create-daemon-multiple-warnings.golden @@ -0,0 +1,2 @@ +WARNING: warning from daemon +WARNING: another warning from daemon diff --git a/cli/command/container/testdata/container-create-daemon-single-warning.golden b/cli/command/container/testdata/container-create-daemon-single-warning.golden new file mode 100644 index 0000000000..abdd32ebad --- /dev/null +++ b/cli/command/container/testdata/container-create-daemon-single-warning.golden @@ -0,0 +1 @@ +WARNING: warning from daemon diff --git a/cli/command/container/testdata/container-create-oom-kill-true-without-memory-limit.golden b/cli/command/container/testdata/container-create-oom-kill-true-without-memory-limit.golden deleted file mode 100644 index 5fb6aeb429..0000000000 --- a/cli/command/container/testdata/container-create-oom-kill-true-without-memory-limit.golden +++ /dev/null @@ -1 +0,0 @@ -WARNING: Disabling the OOM killer on containers without setting a '-m/--memory' limit may be dangerous. diff --git a/cli/command/container/testdata/container-create-oom-kill-without-memory-limit.golden b/cli/command/container/testdata/container-create-oom-kill-without-memory-limit.golden deleted file mode 100644 index 5fb6aeb429..0000000000 --- a/cli/command/container/testdata/container-create-oom-kill-without-memory-limit.golden +++ /dev/null @@ -1 +0,0 @@ -WARNING: Disabling the OOM killer on containers without setting a '-m/--memory' limit may be dangerous.