diff --git a/components/engine/container/stream/streams.go b/components/engine/container/stream/streams.go index a45e31f211..79f366afda 100644 --- a/components/engine/container/stream/streams.go +++ b/components/engine/container/stream/streams.go @@ -135,7 +135,7 @@ func (c *Config) CopyToPipe(iop libcontainerd.IOPipe) { go func() { pools.Copy(iop.Stdin, stdin) if err := iop.Stdin.Close(); err != nil { - logrus.Errorf("failed to close stdin: %+v", err) + logrus.Warnf("failed to close stdin: %+v", err) } }() } diff --git a/components/engine/libcontainerd/process_unix.go b/components/engine/libcontainerd/process_unix.go index e3d8c5f34a..514ebf643c 100644 --- a/components/engine/libcontainerd/process_unix.go +++ b/components/engine/libcontainerd/process_unix.go @@ -8,6 +8,7 @@ import ( "os" "path/filepath" goruntime "runtime" + "strings" "time" containerd "github.com/docker/containerd/api/grpc/types" @@ -86,6 +87,9 @@ func (p *process) sendCloseStdin() error { Pid: p.friendlyName, CloseStdin: true, }) + if err != nil && (strings.Contains(err.Error(), "container not found") || strings.Contains(err.Error(), "process not found")) { + return nil + } return err }