Копирование всех файлов с одного тома докера на другой с использованием подстановочных знаков?
Это работает, потому что это копирование 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
объем?
1 ответ
Решение
Дело в том, кто это расширяет *
:
docker run --rm -v target-data:/target -v ~/source:/source alpine sh -c 'cp -r source/* target/'
Тебе нужен кто-то (sh
) расширить *
до запуска программы (это то, что делает оболочка перед exec cp
)