2017-03-27 6 views
0

コンテナの最初の部分(公開されたポート、ネットワーク、メモリ量の変更など)に使用されている引数を少し変更してコンテナを再作成する必要があることがよくあります。ドッカーコンテナの実行引数を回復する

今、私は古い容器の代わりに画像を作って走っています。

これはうまくいきますが、いつも元のパラメータがdocker runに保存されているとは限りません。また、ときどき定義するものがたくさんある場合は、回復するのに苦労します。

docker run引数を既存のコンテナから回復する方法はありますか?

答えて

0

これを行う最善の方法は、コマンドを手動で入力することではありません。それらをシェルスクリプトに入れてください... .sh(linux/macの場合)、または.cmd(Windowsの場合)。シェルスクリプトを実行してコンテナを作成するだけで、コマンドやオプションの再入力を心配する必要がなくなり、間違ってしまうこともありません。

個人的には、 "npm scripts "私のpackage.jsonファイルにあります。コマンドラインプログラムを引数を使って実行できるツールでも同じことができます。

私はmake sure i never fail to build my images or run my containersにいくつかの他のトリックと一緒にこれを行います。ドッカーとの生活をはるかに簡単にする。 :)

+0

提案していただきありがとうございますが、これは私の場合には本当に適合しません。シェルスクリプトは、あるプロジェクトで作業しているときに便利で、将来コンテナを作成する必要があることを知っています。私はしばしばあらかじめそれを知らない。私はドッカー(他のものの中でも)を使って新しいものを作り直すので、コンテナを頻繁に投げ捨てて、しばらく後に再利用するためにそれらの小さな(未知の)部分しか必要としません。シェルスクリプトを管理することは、この文脈ではあまりにも重いです。 –

0

docker inspectを使用すると、コンテナの設定を取得できます。しかし、それからのdocker runコマンドの再構築はやや面倒かもしれません。

別のオプションは、history | grep "docker run"またはctrl+rbashを使用する場合)のいずれかを使用してシェル履歴を検索することです。こうすることで、コマンドを保存する際に手を出す必要はありませんが、コマンドをすぐに回復することができます。

0

これに対するいくつかの回答。 docker-composeを使用してコンテナを実行すると、作成ファイルを実行してすべての設定を保持できます。明らかにcomposeはマルチコンテナアプリケーション用に設計されていますが、単一コンテナコンプレックスrun引数の使用例では大規模に過小評価されています。

もう1つは、runコマンドを画像のLABELに挿入することです。 Label Schemadocker.cmdなどを見てください。次に、画像(またはDockerfile)から簡単に取得できます。

関連する問題