diff --git a/docker/models/containers.py b/docker/models/containers.py index 9c9e92c90..e6308bb99 100644 --- a/docker/models/containers.py +++ b/docker/models/containers.py @@ -215,6 +215,12 @@ def exec_run(self, cmd, stdout=True, stderr=True, stdin=False, tty=False, resp['Id'], detach=detach, tty=tty, stream=stream, socket=socket, demux=demux ) + if detach: + return ExecDetachResult( + resp["Id"], + self.client.api.exec_inspect(resp["Id"])["ExitCode"], + self.client.api.exec_inspect(resp["Id"])["Running"], + ) if socket or stream: return ExecResult(None, exec_output) @@ -1196,3 +1202,6 @@ def _host_volume_from_bind(bind): ExecResult = namedtuple('ExecResult', 'exit_code,output') """ A result of Container.exec_run with the properties ``exit_code`` and ``output``. """ +ExecDetachResult = namedtuple('ExecDetachResult', 'id,exit_code,status') +""" A result of Container.exec_run in detached mode + with the properties ``id``, ``exit_code`` and ``status``. """