diff options
author | loicleyendecker <loicleyendecker@users.noreply.github.com> | 2022-12-02 19:48:04 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-02 14:48:04 -0500 |
commit | 82cf559b5a641f53e9035b44b91f829f3b4cca80 (patch) | |
tree | 5d46660cad787972f9f88e7321264d1af9fcb0dd | |
parent | 8590eaad3c4b1460606763332ab84b70033ad6a1 (diff) | |
download | docker-py-82cf559b5a641f53e9035b44b91f829f3b4cca80.tar.gz |
volume: do not strip trailing characters from names (#3073)
Only remove `:ro` or `:rw` suffixes in their entirety; do not
strip arbitrary `r` / `o` / `w` / `:` characters individually.
Signed-off-by: Loïc Leyendecker <loic.leyendecker@gmail.com>
-rw-r--r-- | docker/models/containers.py | 4 | ||||
-rw-r--r-- | tests/unit/models_containers_test.py | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/docker/models/containers.py b/docker/models/containers.py index 4508557..61d048c 100644 --- a/docker/models/containers.py +++ b/docker/models/containers.py @@ -1147,8 +1147,10 @@ def _host_volume_from_bind(bind): bits = rest.split(':', 1) if len(bits) == 1 or bits[1] in ('ro', 'rw'): return drive + bits[0] + elif bits[1].endswith(':ro') or bits[1].endswith(':rw'): + return bits[1][:-3] else: - return bits[1].rstrip(':ro').rstrip(':rw') + return bits[1] ExecResult = namedtuple('ExecResult', 'exit_code,output') diff --git a/tests/unit/models_containers_test.py b/tests/unit/models_containers_test.py index 101708e..51f0018 100644 --- a/tests/unit/models_containers_test.py +++ b/tests/unit/models_containers_test.py @@ -103,7 +103,7 @@ class ContainerCollectionTest(unittest.TestCase): volumes=[ '/home/user1/:/mnt/vol2', '/var/www:/mnt/vol1:ro', - 'volumename:/mnt/vol3', + 'volumename:/mnt/vol3r', '/volumewithnohostpath', '/anothervolumewithnohostpath:ro', 'C:\\windows\\path:D:\\hello\\world:rw' @@ -123,7 +123,7 @@ class ContainerCollectionTest(unittest.TestCase): 'Binds': [ '/home/user1/:/mnt/vol2', '/var/www:/mnt/vol1:ro', - 'volumename:/mnt/vol3', + 'volumename:/mnt/vol3r', '/volumewithnohostpath', '/anothervolumewithnohostpath:ro', 'C:\\windows\\path:D:\\hello\\world:rw' @@ -198,7 +198,7 @@ class ContainerCollectionTest(unittest.TestCase): volumes=[ '/mnt/vol2', '/mnt/vol1', - '/mnt/vol3', + '/mnt/vol3r', '/volumewithnohostpath', '/anothervolumewithnohostpath', 'D:\\hello\\world' |