mirror of https://github.com/docker/compose.git
Merge pull request #1644 from aanand/fix-rm-bug
Stop 'rm' and 'ps' listing services not defined in the current file
(cherry picked from commit d85688892c
)
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
This commit is contained in:
parent
b12c29479e
commit
c8295d36cc
|
@ -286,6 +286,9 @@ class Project(object):
|
||||||
def containers(self, service_names=None, stopped=False, one_off=False):
|
def containers(self, service_names=None, stopped=False, one_off=False):
|
||||||
if service_names:
|
if service_names:
|
||||||
self.validate_service_names(service_names)
|
self.validate_service_names(service_names)
|
||||||
|
else:
|
||||||
|
service_names = self.service_names
|
||||||
|
|
||||||
containers = [
|
containers = [
|
||||||
Container.from_ps(self.client, container)
|
Container.from_ps(self.client, container)
|
||||||
for container in self.client.containers(
|
for container in self.client.containers(
|
||||||
|
@ -293,8 +296,6 @@ class Project(object):
|
||||||
filters={'label': self.labels(one_off=one_off)})]
|
filters={'label': self.labels(one_off=one_off)})]
|
||||||
|
|
||||||
def matches_service_names(container):
|
def matches_service_names(container):
|
||||||
if not service_names:
|
|
||||||
return True
|
|
||||||
return container.labels.get(LABEL_SERVICE) in service_names
|
return container.labels.get(LABEL_SERVICE) in service_names
|
||||||
|
|
||||||
if not containers:
|
if not containers:
|
||||||
|
|
|
@ -29,6 +29,21 @@ class ProjectTest(DockerClientTestCase):
|
||||||
[c.name for c in containers],
|
[c.name for c in containers],
|
||||||
['composetest_web_1'])
|
['composetest_web_1'])
|
||||||
|
|
||||||
|
def test_containers_with_extra_service(self):
|
||||||
|
web = self.create_service('web')
|
||||||
|
web_1 = web.create_container()
|
||||||
|
|
||||||
|
db = self.create_service('db')
|
||||||
|
db_1 = db.create_container()
|
||||||
|
|
||||||
|
self.create_service('extra').create_container()
|
||||||
|
|
||||||
|
project = Project('composetest', [web, db], self.client)
|
||||||
|
self.assertEqual(
|
||||||
|
set(project.containers(stopped=True)),
|
||||||
|
set([web_1, db_1]),
|
||||||
|
)
|
||||||
|
|
||||||
def test_volumes_from_service(self):
|
def test_volumes_from_service(self):
|
||||||
service_dicts = config.from_dictionary({
|
service_dicts = config.from_dictionary({
|
||||||
'data': {
|
'data': {
|
||||||
|
|
Loading…
Reference in New Issue