Docker を使用して次のループを自動化しようとしています: コンテナーを生成し、その内部でいくつかの作業を行い (複数の単一コマンド)、コンテナーからデータを取得します。
次のようなもの:
for ( i = 0; i < 10; i++ )
spawn a container
wget revision-i
do something with it and store results in results.txt
ドキュメントによると、私は一緒に行くべきです:
for ( ... )
docker run <image> <long; list; of; instructions; separated; by; semicolon>
残念ながら、命令のリストが複雑になるにつれて、このアプローチは魅力的ではなく、保守も容易ではありません。
ループの反復ごとに新しいコンテナを生成したいので、命令をスクリプトにラップしても機能しdocker run <image> /bin/bash script.sh
ません。
総括する:
上記の複雑な一連のコマンドを同じコンテナ内で実行する賢明な方法はありますか?
/home/results.txt などのコンテナー内にデータが保存され、コンテナーが返されたら、results.txt を取得するにはどうすればよいですか? 私が考えることができる唯一の方法は、コンテナーをコミットし、新しいイメージからファイルを tar することです。それを行うためのより効率的な方法はありますか?
おまけ: 代わりにバニラ LXC を使用する必要がありますか? とはいえ私は経験がないので自信がありません。ありがとう。