使用通配符将所有文件从一个docker卷复制到另一个Docker卷?

时间:2017-05-27 01:42:02

标签: bash docker alpine ash

这是有效的,因为它复制了main

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卷?

1 个答案:

答案 0 :(得分:3)

问题是谁扩展了*

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

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