docker runでワイルドカード指定でファイルを渡す方法
1000日ぶりに記事を書きます。
Shellで *
指定でファイルを取得し、docker imageに渡す時に嵌ったので。
結論
docker run -v $(pwd):$(pwd) -w $(pwd) your/image command path/to/file/*
-vと-wオプションで path/to/file/*
までのPathをホストと同じにすれば、ワイルドカード指定でファイルを指定できるようになる。
-v, --volume=[ホスト側ソース:]コンテナ側送信先[:<オプション>] ボリュームを拘束マウント。カンマ区切りで指定 `オプション` は [rw|ro], [z|Z], [[r]shared|[r]slave|[r]private], [nocopy] 'ホスト側ソース' は絶対パスまたは名前の値 -w, --workdir="" コンテナ内の作業用ディレクトリを指定
-w(ワークスペース)を変更しない場合
docker run -v $(pwd):/test your/image sh -c "command /test/path/to/file/*"
docker image内でワイルドカードを展開すればよい。