summaryrefslogtreecommitdiff
path: root/docker/utils/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'docker/utils/utils.py')
-rw-r--r--docker/utils/utils.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/docker/utils/utils.py b/docker/utils/utils.py
index 84acca3..77bd7f3 100644
--- a/docker/utils/utils.py
+++ b/docker/utils/utils.py
@@ -180,8 +180,21 @@ def convert_volume_binds(binds):
result = []
for k, v in binds.items():
if isinstance(v, dict):
+ if 'ro' in v and 'mode' in v:
+ raise ValueError(
+ 'Binding cannot contain both "ro" and "mode": {}'
+ .format(repr(v))
+ )
+
+ if 'ro' in v:
+ mode = 'ro' if v['ro'] else 'rw'
+ elif 'mode' in v:
+ mode = v['mode']
+ else:
+ mode = 'rw'
+
result.append('{0}:{1}:{2}'.format(
- k, v['bind'], 'ro' if v.get('ro', False) else 'rw'
+ k, v['bind'], mode
))
else:
result.append('{0}:{1}:rw'.format(k, v))