Скопировать несколько локальных файлов в контейнер докеров
Как и Копирование файлов с хоста на контейнер Docker, кроме docker cp
, похоже, не работает для нескольких файлов
$ docker cp data/a.txt sandbox_web_1:/usr/src/app/data/
работает нормально, но
$ docker cp data/*txt sandbox_web_1:/usr/src/app/data/
docker: "cp" requires 2 arguments.
See 'docker cp --help'.
Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
Copy files/folders between a container and the local filesystem
Use '-' as the source to read a tar archive from stdin
and extract it to a directory destination in a container.
Use '-' as the destination to stream a tar archive of a
container source to stdout.
Использование докера 1.11.1 на Ubuntu 14.04x64
Ответы
Ответ 1
Существует предложение для docker cp
для поддержки подстановочных знаков (7710), но оно еще не реализовано.
Итак, вы получите bash скрипты, используя docker cp
для каждого файла:
for f in data/*txt; do docker cp $f sandbox_web_1:/usr/src/app/data/; done
Ответ 2
Следующая команда должна скопировать все данные каталога с содержимым каталога данных в нужное место назначения:
docker cp data/ sandbox_web_1:/usr/src/app/
Протестировано на Docker версии 1.12.1, но я не нашел никаких изменений в команде cp в релизе 1.12.1
Ответ 3
Я на Docker версии 18.09 и обнаружил, что мне удалось скопировать все файлы из моего текущего локального каталога в корень контейнера, выполнив: docker cp./image_name: