如何将多个文件复制到一个 docker 数据卷中

How to copy multiple files into a docker data volume

这听起来可能微不足道,但我找不到将多个文件复制到 docker 卷的根文件夹中的简单方法。我正在使用 Ubuntu Xenial 16.04Docker 1.12.1。例如,如果我有一个 Ubuntu 容器,其体积为 /my_data:

docker run --name my_container -v /my_data -d ubuntu:latest 

在我的主机中,我有一个名为 /tmp/my_data/ 的文件夹,里面有多个文件,我想将所有这些文件复制到卷 /my_datamy_container。我尝试了以下方法,但其中 none 有效:

docker cp /tmp/my_data my_container:/
docker cp /tmp/my_data/* my_container:/my_data/

有人知道解决此问题的方法吗?

作为解决方法,您可以创建一个循环:

for i in /tmp/my_data/*;do docker cp /tmp/my_data/"$i" my_container:/my_data/;done

*注意:具体解决方法不会复制 my_data 文件夹中的隐藏文件或文件夹。

其实比我想象的要简单,只需要在主机路径中添加一个点就可以正常工作,复制/my_data[=14内的所有文件和文件夹=]文件夹

docker cp /tmp/my_data/. my_container:/my_data