4

docker-py を使用して、Docker コンテナー内で複数のコマンドを実行する手順を作成したいと考えています。ドキュメントを読んで、コンテナを作成するときにコマンドオプションを使用できることがわかりました..次のようなものです:

c.create_container(image="myimage", command="mycommand")

作成したコンテナで他のコマンドを実行する方法はありますか?

ありがとう!

4

4 に答える 4

2

docker v1.3 以降。docker-exec コマンドを使用して、実行中のコンテナーに新しいプロセスを挿入することができます ( https://docs.docker.com/reference/commandline/cli/#execを参照)。

ただし、マルチプロセス コンテナーを実行することのマイナス面である「関心の分離」を考慮する必要があります (オンラインの多くの記事で説明されています)。

于 2014-10-18T20:14:34.623 に答える
0

docker-py を使用することはできないと思いますが、実行するコマンドに応じていくつかの方法があります。

コマンド引数として設定command1 && command2することもできますが、2 番目のコマンドは最初のコマンドが終了したときにのみ開始されます (したがって、それが持続しない場合、2 番目のコマンドは開始されません...)。もう 1 つのオプションは、コンテナーで bash を実行し、次の構文でコマンドを実行することです。

echo your_command | docker attach container_id

ホストのコマンドラインから。

于 2014-10-17T08:06:47.057 に答える
0

docker-py を使用するかどうかに関係なく、コンテナーは 1 つのプロセスしか開始できません。ただし、このプロセスは、他の複数のプロセスを生成するスクリプトまたはプログラムである可能性があります。

コンテナー内で複数のプロセスを実行するために Docker を使用してスーパーバイザーする方法については、Docker の記事を参照してください。

于 2014-10-16T19:48:37.677 に答える