From 892701d23bb2cc269d21e3f5efb94f1cc3b71abd Mon Sep 17 00:00:00 2001 From: Lei Jitang Date: Fri, 24 Mar 2017 03:55:55 -0400 Subject: [PATCH] Fix docker logs a dead container If a container is dead or marked for removal, the json log file could have been removed, so docker logs will return `-json.log: no such file or directory`. Signed-off-by: Lei Jitang Upstream-commit: 238ad8c36a57d5484aa21efa26a8244aa4b8dff7 Component: engine --- components/engine/daemon/logs.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/components/engine/daemon/logs.go b/components/engine/daemon/logs.go index b6c30f40ed..b1b0bbb910 100644 --- a/components/engine/daemon/logs.go +++ b/components/engine/daemon/logs.go @@ -29,6 +29,10 @@ func (daemon *Daemon) ContainerLogs(ctx context.Context, containerName string, c return err } + if container.RemovalInProgress || container.Dead { + return errors.New("can not get logs from container which is dead or marked for removal") + } + if container.HostConfig.LogConfig.Type == "none" { return logger.ErrReadLogsNotSupported }