Browse Source

Fix regression when mounting volumes

Caused by
https://github.com/dotcloud/docker-py/commit/77fec67c608d0839a795f6eb807c9df2fd5bfd45
Aanand Prasad 11 years ago
parent
commit
6e932794f7
2 changed files with 10 additions and 1 deletions
  1. 4 1
      fig/service.py
  2. 6 0
      tests/service_test.py

+ 4 - 1
fig/service.py

@@ -222,7 +222,10 @@ class Service(object):
             for volume in options['volumes']:
                 if ':' in volume:
                     external_dir, internal_dir = volume.split(':')
-                    volume_bindings[os.path.abspath(external_dir)] = internal_dir
+                    volume_bindings[os.path.abspath(external_dir)] = {
+                        'bind': internal_dir,
+                        'ro': False,
+                    }
 
         privileged = options.get('privileged', False)
 

+ 6 - 0
tests/service_test.py

@@ -114,6 +114,12 @@ class ServiceTest(DockerClientTestCase):
         service.start_container(container)
         self.assertIn('/var/db', container.inspect()['Volumes'])
 
+    def test_create_container_with_specified_volume(self):
+        service = self.create_service('db', volumes=['/tmp:/host-tmp'])
+        container = service.create_container()
+        service.start_container(container)
+        self.assertIn('/host-tmp', container.inspect()['Volumes'])
+
     def test_recreate_containers(self):
         service = self.create_service(
             'db',