mirror of https://github.com/docker/docs.git
Merge pull request #313 from orchardup/fix-volumes-from-container
Fix volumes_from container
This commit is contained in:
commit
dd5c2e8767
|
@ -135,8 +135,8 @@ class Project(object):
|
||||||
volumes_from.append(service)
|
volumes_from.append(service)
|
||||||
except NoSuchService:
|
except NoSuchService:
|
||||||
try:
|
try:
|
||||||
container = Container.from_id(client, volume_name)
|
container = Container.from_id(self.client, volume_name)
|
||||||
volumes_from.append(Container.from_id(client, volume_name))
|
volumes_from.append(container)
|
||||||
except APIError:
|
except APIError:
|
||||||
raise ConfigurationError('Service "%s" mounts volumes from "%s", which is not the name of a service or container.' % (service_dict['name'], volume_name))
|
raise ConfigurationError('Service "%s" mounts volumes from "%s", which is not the name of a service or container.' % (service_dict['name'], volume_name))
|
||||||
del service_dict['volumes_from']
|
del service_dict['volumes_from']
|
||||||
|
|
|
@ -1,9 +1,49 @@
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
from fig.project import Project, ConfigurationError
|
from fig.project import Project, ConfigurationError
|
||||||
|
from fig.container import Container
|
||||||
from .testcases import DockerClientTestCase
|
from .testcases import DockerClientTestCase
|
||||||
|
|
||||||
|
|
||||||
class ProjectTest(DockerClientTestCase):
|
class ProjectTest(DockerClientTestCase):
|
||||||
|
def test_volumes_from_service(self):
|
||||||
|
project = Project.from_config(
|
||||||
|
name='figtest',
|
||||||
|
config={
|
||||||
|
'data': {
|
||||||
|
'image': 'busybox:latest',
|
||||||
|
'volumes': ['/var/data'],
|
||||||
|
},
|
||||||
|
'db': {
|
||||||
|
'image': 'busybox:latest',
|
||||||
|
'volumes_from': ['data'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
client=self.client,
|
||||||
|
)
|
||||||
|
db = project.get_service('db')
|
||||||
|
data = project.get_service('data')
|
||||||
|
self.assertEqual(db.volumes_from, [data])
|
||||||
|
|
||||||
|
def test_volumes_from_container(self):
|
||||||
|
data_container = Container.create(
|
||||||
|
self.client,
|
||||||
|
image='busybox:latest',
|
||||||
|
volumes=['/var/data'],
|
||||||
|
name='figtest_data_container',
|
||||||
|
)
|
||||||
|
project = Project.from_config(
|
||||||
|
name='figtest',
|
||||||
|
config={
|
||||||
|
'db': {
|
||||||
|
'image': 'busybox:latest',
|
||||||
|
'volumes_from': ['figtest_data_container'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
client=self.client,
|
||||||
|
)
|
||||||
|
db = project.get_service('db')
|
||||||
|
self.assertEqual(db.volumes_from, [data_container])
|
||||||
|
|
||||||
def test_start_stop_kill_remove(self):
|
def test_start_stop_kill_remove(self):
|
||||||
web = self.create_service('web')
|
web = self.create_service('web')
|
||||||
db = self.create_service('db')
|
db = self.create_service('db')
|
||||||
|
|
Loading…
Reference in New Issue