【问题标题】:How to copy multiple files into a docker data volume如何将多个文件复制到 docker 数据卷中
【发布时间】:2017-01-18 02:01:28
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 你运行的是什么版本的 docker?
  • 我对 1.12.1 上的 docker cp 没有任何问题,除了你运行的是什么版本的 Docker (docker --version; docker info),如果你正在运行它会有所帮助这些命令直接在 docker 主机上,或者如果你是远程的,或者使用 Windows/MacOS 客户端。

标签: docker docker-volume docker-container


【解决方案1】:

其实它比我简单,只需要在主机路径中添加一个点,它就会按预期工作,复制 /my_data 文件夹中的所有文件和文件夹

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 感谢@Alex Ballas,但我的文件夹还包含其他文件夹。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    相关资源
    最近更新 更多