当目录名称包含冒号 (:) 时,我无法将卷挂载到 docker 容器
该目录的名称是 2012-08-05-00:16:37,我不想重命名该目录。我尝试过:
docker run -it --name test1 \
-v /host_system_path/2012-08-05-00\:16\:37/:/container_path/2012-08-05-00\:16\:37/
image_name
我收到错误:
docker: Error response from daemon: invalid bind mount spec.See
'docker run --help'.
如果我重命名目录时不带空格或仅使用连字符,则该目录将毫无问题地安装到容器中。有人可以指出当目录包含冒号时如何解决问题吗?
我使用的是 Ubuntu:16.04 和 Docker 版本 17.06.0-ce。
最佳答案
通过 -v
指定目录映射时,当前不支持冒号,而且您似乎也无法转义它们。
您需要利用--mount
instead :
docker run ... --mount type=bind,source=/some:colon:file,destination=/container-path ...
在最坏的情况下,您当然也可以使用临时系统链接 (ln -s
) 来解决此限制,或者临时重命名目标目录。
关于docker - 当目录名称包含冒号时,无法在 docker 容器中挂载卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46335325/