当目录名称包含冒号(:)
时,我无法将卷装入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。
答案 0 :(得分:0)
它是Docker的open issue。但在你的情况下,为什么docker run -it --name test1 -v /host_system_path:/container_path image_name
不够?
答案 1 :(得分:0)
通过 #include <Imlib2.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
int main(int argc, char **argv)
{
/* an image handle */
Imlib_Image image;
/* load the image */
Imlib_Load_Error error;
image = imlib_load_image_with_error_return("rgba.raw", &error);
printf("load error:%d", error);
if (image)
{
imlib_context_set_image(image);
imlib_image_set_format("png");
/* save the image */
imlib_save_image("working.png");
}
else
{
printf("not loaded\n");
}
}
指定目录映射时,当前不支持冒号,看来您也无法转义。
您需要改为使用-v
:
--mount
在最坏的情况下,您当然也可以通过临时系统链接(docker run ... --mount type=bind,source=/some:colon:file,destination=/container-path ...
)来解决此限制,或者暂时重命名目标目录。