【问题标题】:Copying all files from one docker volume to another using wild card characters?使用通配符将所有文件从一个 docker 卷复制到另一个?
【发布时间】:2017-10-27 23:18:06
【问题描述】:

这是有效的,因为它正在复制some_file

docker run --rm -v target-data:/target -v ~/source:/source alpine cp source/some_file target/

这不(使用通配符):

docker run --rm -v target-data:/target -v ~/source:/source alpine cp source/* target/
cp: can't stat 'source/*': No such file or directory

如何将souce 卷中的所有文件复制到target 卷中?

【问题讨论】:

    标签: bash docker alpine ash


    【解决方案1】:

    问题是谁扩展了*

    docker run --rm -v target-data:/target -v ~/source:/source alpine sh -c 'cp -r source/* target/'
    

    你需要有人(sh)在程序启动之前扩展*(这就是shell在执行cp之前所做的)

    【讨论】:

    • 太棒了 - 我还需要目录,所以我必须添加 cp -r source/ ...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 2021-11-25
    • 1970-01-01
    相关资源
    最近更新 更多