diff --git a/docker/models/containers.py b/docker/models/containers.py index 9c9e92c9..272d482d 100644 --- a/docker/models/containers.py +++ b/docker/models/containers.py @@ -32,6 +32,12 @@ class Container(Model): """ if self.attrs.get('Name') is not None: return self.attrs['Name'].lstrip('/') + if self.attrs.get('Names') is not None: + stripped_names = [name.lstrip('/') for name in self.attrs['Names']] + for name in stripped_names: + if '/' not in name: + return name + return ','.join(stripped_names) @property def image(self): diff --git a/tests/integration/models_containers_test.py b/tests/integration/models_containers_test.py index 87274559..26aabea8 100644 --- a/tests/integration/models_containers_test.py +++ b/tests/integration/models_containers_test.py @@ -302,7 +302,7 @@ class ContainerCollectionTest(BaseIntegrationTest): def test_list_sparse(self): client = docker.from_env(version=TEST_API_VERSION) container_id = client.containers.run( - "alpine", "sleep 300", detach=True).id + "alpine", "sleep 300", detach=True, name='a_container').id self.tmp_containers.append(container_id) containers = [c for c in client.containers.list(sparse=True) if c.id == container_id] @@ -312,6 +312,7 @@ class ContainerCollectionTest(BaseIntegrationTest): assert container.attrs['Image'] == 'alpine' assert container.status == 'running' assert container.image == client.images.get('alpine') + assert container.name == 'a_container' with pytest.raises(docker.errors.DockerException): _ = container.labels