2016-07-05 8 views
0

"docker-compose run web ..."コマンドを実行するたびに、別のコンテナがKitematicに追加されます私は "image-name_web_run_1"のようなコンテナのリストをdocker-composeの各実行と共に持っていると言っています。コマンドを実行する "docker-compose run web ..."はKitematicコンテナリストに新しいコンテナを作成します

これが期待どおりの動作ですか?もしそうなら、どうやって回避するのですか?

答えて

4

docker-compose run --rmを使用して、コンテナを終了時に削除することができます。

docker-compose downまたはdocker-compose rm -aを使用してこれらの古いコンテナをクリーンアップすることができます。

+0

ありがとう! – Dobler

1

新しい容器ですか? docker-compose runの予想される動作です:https://docs.docker.com/compose/reference/run/

docker-compose execを使用していましたか? たとえば、docker-compose exec web /bin/sh 参照:https://docs.docker.com/compose/reference/exec/

+0

私はコンテナコマンドをコマンドラインから直接実行しようとしていました。はい、私はコンテナを意味します。 – Dobler

+0

コンテナコマンドを実行するには、 'docker-compose exec'を使用します。例えば、' docker-exec web/bin/sh'に相当する 'docker-compose exec web/bin/sh'を使用できます。参照:https://docs.docker.com/compose/reference/exec/ (回答があなたのコメントを反映するように更新されました) – ldg

+0

実行中のコンテナでコマンドを実行しようとしていた場合、 'docker exec'(または' docker-compose exec')があなたの探しているものです。 'docker-compose run --rm'は一時的なコンテナを作成して破棄します。一時的なコンテナは高価で、いくつかの副作用があります。基本的なケースでは、彼らはほとんど同じことをするでしょう、それは問題ではないかもしれません - あなたがしようとしていることだけに依存します。 – ldg

関連する問題