使用通配符将所有文件从一个 docker 卷复制到另一个卷?
Copying all files from one docker volume to another using wild card characters?
之所以有效,是因为它正在复制 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
卷中?
问题是谁扩展了 *
:
docker run --rm -v target-data:/target -v ~/source:/source alpine sh -c 'cp -r source/* target/'
你需要有人(sh
)在程序启动前扩展*
(这就是shell在exec cp
之前所做的)
之所以有效,是因为它正在复制 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
卷中?
问题是谁扩展了 *
:
docker run --rm -v target-data:/target -v ~/source:/source alpine sh -c 'cp -r source/* target/'
你需要有人(sh
)在程序启动前扩展*
(这就是shell在exec cp
之前所做的)