【发布时间】:2020-09-22 18:57:20
【问题描述】:
我有一个包含大约 8000 张图像的文件夹,命名为 img_991_990_0_drawing.jpg.jpg。我想将本地系统中的所有文件复制到 docker 容器中。
操作系统:Ubuntu 18.04.2 LTS
码头工人:18.09.2
我尝试了sudo docker cp <source_path> <container_id>:<dest_path>,却遇到了sudo: unable to execute /usr/bin/docker: Argument list too long。
所以我尝试用xargs复制所有文件find /data/projects/cad-detection/darknet/result_img/* | xargs /bin/cp 1f17d5044287:/home/dataturks/bazaar/uploads/2c91808274774ae60/
但我会得到不是目录错误
/bin/cp: target '/data/projects/cad-detection/darknet/result_img/img_2585_2581_0_drawing.jpg.jpg' is not a directory
/bin/cp: target '/data/projects/cad-detection/darknet/result_img/img_4076_4070_0_drawing.jpg.jpg' is not a directory
/bin/cp: target '/data/projects/cad-detection/darknet/result_img/img_5570_5560_0_drawing.jpg.jpg' is not a directory
/bin/cp: target '/data/projects/cad-detection/darknet/result_img/img_7052_7040_0_drawing.jpg.jpg' is not a directory
/bin/cp: target '/data/projects/cad-detection/darknet/result_img/img_999_998_0_drawing.jpg.jpg' is not a directory
我通常可以使用cp 来复制我的文件,所以我过去从未使用过xargs。我想我错过了一个选项。
如果您想知道我为什么要复制一堆图像而不是一个文件夹,我正在使用 DataTurks,我需要 /bazaar/uploads/2c91808274774ae60 中的文件才能通过 localhost 访问它们。
【问题讨论】:
-
尝试将
-l传递给xargs。这行得通吗? -
你可以使用
docker run -v绑定挂载选项在容器启动时注入整个目录吗?