ホストから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.
Ubuntu 14.04x64でのdocker 1.11.1の使用
ワイルドカード(7710)をサポートするdocker cp
の提案 がありますが、まだ実装されていません。
したがって、ファイルごとに docker cp
を使用して、bashスクリプトを作成できます。
for f in data/*txt; do docker cp $f sandbox_web_1:/usr/src/app/data/; done
次のコマンドは、ディレクトリ全体のデータをデータディレクトリの内容とともに目的の宛先にコピーする必要があります。
docker cp data/ sandbox_web_1:/usr/src/app/
Dockerバージョン1.12.1でテストしましたが、リリース1.12.1のcpコマンドに対する変更は見つかりませんでした
私はDockerバージョン18.09を使用していて、次のコマンドを実行することにより、現在のローカルディレクトリからコンテナーのルートにすべてのファイルをコピーできることがわかりました:docker cp ./ image_name: