From f248fefdbf77c316afc1d4886844abda1a353937 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Sat, 15 Dec 2018 14:30:29 -0500 Subject: [PATCH] driver/docker: stopping a dead container not error --- drivers/docker/config.go | 4 ++++ drivers/docker/handle.go | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/drivers/docker/config.go b/drivers/docker/config.go index 59dcba6f5..5efd383e5 100644 --- a/drivers/docker/config.go +++ b/drivers/docker/config.go @@ -20,6 +20,10 @@ const ( // does not exist. NoSuchContainerError = "No such container" + // ContainerNotRunningError is returned by the docker daemon if the container + // is not running, yet we requested it to stop + ContainerNotRunningError = "Container not running" + // pluginName is the name of the plugin pluginName = "docker" diff --git a/drivers/docker/handle.go b/drivers/docker/handle.go index 694bdfdf2..b7e58cb63 100644 --- a/drivers/docker/handle.go +++ b/drivers/docker/handle.go @@ -148,6 +148,12 @@ func (h *taskHandle) Kill(killTimeout time.Duration, signal os.Signal) error { h.logger.Debug("attempted to stop nonexistent container") return nil } + // Container has already been stopped. + if strings.Contains(err.Error(), ContainerNotRunningError) { + h.logger.Debug("attempted to stop an not-running container") + return nil + } + h.logger.Error("failed to stop container", "error", err) return fmt.Errorf("Failed to stop container %s: %s", h.containerID, err) }