如何将多个文件复制到一个 docker 数据卷中
How to copy multiple files into a docker data volume
这听起来可能微不足道,但我找不到将多个文件复制到 docker 卷的根文件夹中的简单方法。我正在使用 Ubuntu Xenial 16.04 和 Docker 1.12.1。例如,如果我有一个 Ubuntu 容器,其体积为 /my_data:
docker run --name my_container -v /my_data -d ubuntu:latest
在我的主机中,我有一个名为 /tmp/my_data/ 的文件夹,里面有多个文件,我想将所有这些文件复制到卷 /my_data 在 my_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
这听起来可能微不足道,但我找不到将多个文件复制到 docker 卷的根文件夹中的简单方法。我正在使用 Ubuntu Xenial 16.04 和 Docker 1.12.1。例如,如果我有一个 Ubuntu 容器,其体积为 /my_data:
docker run --name my_container -v /my_data -d ubuntu:latest
在我的主机中,我有一个名为 /tmp/my_data/ 的文件夹,里面有多个文件,我想将所有这些文件复制到卷 /my_data 在 my_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