From 0144803c07e3de817ebfb1405192dc666660d03e Mon Sep 17 00:00:00 2001 From: Xianglin Gao Date: Tue, 11 Apr 2017 19:18:56 +0800 Subject: [PATCH] Forcibly remove container Signed-off-by: Xianglin Gao --- pkg/kubelet/dockershim/docker_container.go | 3 +-- pkg/kubelet/dockershim/docker_sandbox.go | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pkg/kubelet/dockershim/docker_container.go b/pkg/kubelet/dockershim/docker_container.go index 5b51999e3b..b99a7e4b8e 100644 --- a/pkg/kubelet/dockershim/docker_container.go +++ b/pkg/kubelet/dockershim/docker_container.go @@ -287,7 +287,6 @@ func (ds *dockerService) StopContainer(containerID string, timeout int64) error } // RemoveContainer removes the container. -// TODO: If a container is still running, should we forcibly remove it? func (ds *dockerService) RemoveContainer(containerID string) error { // Ideally, log lifecycle should be independent of container lifecycle. // However, docker will remove container log after container is removed, @@ -296,7 +295,7 @@ func (ds *dockerService) RemoveContainer(containerID string) error { if err != nil { return err } - err = ds.client.RemoveContainer(containerID, dockertypes.ContainerRemoveOptions{RemoveVolumes: true}) + err = ds.client.RemoveContainer(containerID, dockertypes.ContainerRemoveOptions{RemoveVolumes: true, Force: true}) if err != nil { return fmt.Errorf("failed to remove container %q: %v", containerID, err) } diff --git a/pkg/kubelet/dockershim/docker_sandbox.go b/pkg/kubelet/dockershim/docker_sandbox.go index b9cf1226b3..1f5bf31379 100644 --- a/pkg/kubelet/dockershim/docker_sandbox.go +++ b/pkg/kubelet/dockershim/docker_sandbox.go @@ -237,7 +237,7 @@ func (ds *dockerService) RemovePodSandbox(podSandboxID string) error { } // Remove the sandbox container. - if err := ds.client.RemoveContainer(podSandboxID, dockertypes.ContainerRemoveOptions{RemoveVolumes: true}); err != nil && !libdocker.IsContainerNotFoundError(err) { + if err := ds.client.RemoveContainer(podSandboxID, dockertypes.ContainerRemoveOptions{RemoveVolumes: true, Force: true}); err != nil && !libdocker.IsContainerNotFoundError(err) { errs = append(errs, err) }