web-dev-qa-db-ja.com

複数のローカルファイルをDockerコンテナーにコピーする

ホストから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の使用

21
kampta

ワイルドカード(7710)をサポートするdocker cpの提案 がありますが、まだ実装されていません。

したがって、ファイルごとに docker cp を使用して、bashスクリプトを作成できます。

for f in data/*txt; do docker cp $f sandbox_web_1:/usr/src/app/data/; done
21
VonC

次のコマンドは、ディレクトリ全体のデータをデータディレクトリの内容とともに目的の宛先にコピーする必要があります。

docker cp data/ sandbox_web_1:/usr/src/app/

Dockerバージョン1.12.1でテストしましたが、リリース1.12.1のcpコマンドに対する変更は見つかりませんでした

11
Pavel Ducho

私はDockerバージョン18.09を使用していて、次のコマンドを実行することにより、現在のローカルディレクトリからコンテナーのルートにすべてのファイルをコピーできることがわかりました:docker cp ./ image_name:

1
Aaron Bazzone