2015-09-27 9 views
5

私はDockerを使い始めました。私はそれが大好きですが、私は効率的にしたいと思っていました ワークフローがあります。私がDockerfileスクリプトを反復しているとき bashセッションを起動し、いくつかのコマンドを実行して、そのような とそのようなパッケージが正しくインストールされていないことがわかったら、 私のDockerfileを微調整する。最小限のLinuxインストールでシェルセッションを「ドッカー実行」してすぐにコンテナを破棄する方法は?

だが、私は私のイメージを構築し、buildfooとしてタグ付けされている、私は このようにそれを実行したいとしましょう:

 $> docker run -t -i buildfoo 

       ... enter some bash commands.. then ^D to exit 

その後、私は私がクリーンアップする必要がコンテナを実行しています。通常、私はちょうどこのようにすべてをハァハァ:

docker rm --force `docker ps -qa` 

これは私のためにOK作品..しかし、私はむしろ手動 コンテナを削除する必要はありませ思います。

お気軽にご意見をお寄せください。


いくつかの追加のマイナー詳細:

は、最小限のCentOSの7イメージを実行して、私のシェルとしてbashのを使用。

答えて

10

ドッカー実行コマンドの-rmフラグを使用してください。 --rm=trueまたはちょうど--rm

コンテナが終了すると自動的にコンテナが削除されます(-dと互換性がありません)。例:

docker run -i -t --rm=true centos /bin/bash 

または

docker run -i -t --rm centos /bin/bash 
+2

を使用していますあなたはそれが '--rm = false'をですか? –

+0

は正しく答えを更新しました。 @ Renaud Pacalet – spectre007

+0

が動作することを指摘してくれてありがとう!ありがとう –

1

私はthe alias dr

alias dr='docker run -it --rm' 

を使用し、あなたに与えます:

dr myimage 
ls 
... 
exit 

これ以上のコンテナを実行しました。上記は、まだ動作していても

2

、以下のコマンドは、ドッカーの新しい構文

docker container run -it --rm centos bash 
関連する問題