結論
コピー元に . を指定することで指定したディレクトリ配下のファイル・ディレクトリ全てがコピーされる。
docker compose cp database/migrations/. app:/src/database/migrations/
ファイルだけ, 拡張子を指定したい... などのユースケースは for で愚直にloopするしかない。
for file in database/migrations/*.rb; do docker compose cp $file app:/src/database/migrations/; done
何に困っていたか
cpコマンドと同じノリで実行しようとしたがダメだったので調べたメモ。
docker compose cp database/migrations/* app:/src/database/migrations/
"docker compose cp" requires exactly 2 arguments.
See 'docker compose cp --help'.
Usage: docker compose cp [OPTIONS] SERVICE:SRC_PATH DEST_PATH|-
docker compose cp [OPTIONS] SRC_PATH|- SERVICE:DEST_PATH
Copy files/folders between a service container and the local filesystem