別のコマンドを使用して停止した Docker コンテナを起動するにはどうすればよいですか?

別のコマンドを使用して停止した Docker コンテナを起動するにはどうすればよいですか?

こんにちは、私は鄭歌です。多くの人がこの問題に遭遇すると思います。コンテナは正常に動作していましたが、ある日エラーが報告され終了しました。コンテナを再起動しても、デフォルトのコマンドがクラッシュするためエラーが報告され、コンテナの起動後に docker exec を使用できなくなります。

今日は、イメージを再構築せずにコンテナ エラーの問題を解決する方法を紹介します。たった2つのステップで完了します。

最初のステップは、エラーのあるコンテナを新しいイメージに保存することです。

この手順では、コンテナーへの以前の変更を保存します。コンテナに何も書き込まれていない場合は、この手順は無視できます。

まず、エラーが発生したコンテナを確認し、その CONTAINER_ID を記録します。

ドッカーps -a

次に、コンテナを新しいイメージに保存します。

 docker コミット $CONTAINER_ID somenzz / image_xxx_new

2番目のステップは、新しいイメージから新しいコマンドを開始することです

たとえば、コンテナを修復するためにシェルを起動します。

 docker run -ti --entrypoint=sh somenzz/image_xxx_new

ここではEntrypoint[1]が使用されています。イメージをビルドするときに、コンテナの起動時に実行コマンドを構成するために CMD または ENTRYPOINT を使用できますが、これら 2 つは異なります。

  • CMD コマンドは、コンテナの起動後に実行されるデフォルトのコマンドとそのパラメータを設定しますが、CMD によって設定されたコマンドは、docker run コマンドに続くコマンドラインパラメータに置き換えることができます。
  • ENTRYPOINT は、コンテナの起動時に実行されるコマンドを構成します。 docker run の実行時に他のコマンドが指定されていても無視されずに実行されます。

私はPythonコンテナ方式を使用しています

コンテナはパッケージ化されたオペレーティング環境です。サーバーに Docker をインストールしたので、Python 環境を取得するのは簡単です。

まず、Python イメージをダウンロードします。最新バージョンは3.10.4です。 docker search python を実行すると表示できます。

 sudo docker pull python

次に、終了しないバックグラウンド コンテナーを起動します。

 sudo docker run --name mypython -dt python /bin/bash

その後は、必要に応じて Python を使用できます。

 sudo docker exec - it mypython python [コンテナ内ではなく、ホストマシン上の Python スクリプト]

依存関係をインストールする場合:

 sudo docker exec -it mypython pip インストールリクエスト

この方法で Python コンテナを使用すると、システム ファイルは変更されません。安全で環境にも優しいです。もう使用しない場合は、コンテナを停止して削除し、イメージを削除します。

<<:  マルチクラウド VS スカイコンピューティング、企業はクラウドコンピューティング戦略をどのように選択すべきでしょうか?

>>:  Canalys:2022年第1四半期のクラウドインフラサービス支出は世界全体で559億ドルに達した

推薦する

Tongcheng.comの10年:トラの口から食べ物を奪うことからトラと一緒に暮らすことへ

会社の解読呉志祥さんは物事を思い出すのが好きな人です。この2か月間、2つの大きな記者会見で、彼は14...

今、検索エンジンSEOを行うのは難しすぎますか?

10年間の浮き沈みを経て、多くのウェブサイトは長年の最適化と構築を経て、多数の人気キーワードを占有し...

2024 年に注目すべき 8 つのクラウド コンピューティング トレンド

この記事では、人工知能の影響、主要なテクノロジーの予測、クラウド インフラストラクチャの進化する状況...

企業のウェブサイトは攻撃と防御を組み合わせる必要がある

攻撃:まず、百度百科、知道、文庫などのプラットフォームを利用して企業の信頼性を高める一般企業にとって...

Kにならないように、各ウェブサイトは独自性を維持する必要があります

Baidu は最近頻繁にサイトを K-ed しており、多くのウェブマスターを恐怖に陥れています。そこ...

2020 年グローバル コンピューティング パワー インデックス評価レポート - グローバル コンピューティング パワー インデックスの結果とランキング

[[382059]]このレポートは、米国、日本、ドイツ、英国、フランス、オーストラリアなどの先進国と...

Baidu K-station後のトラフィック回復方法と戦略

1. 観察:長期にわたる観察から、百度に追い出されたサイトの多くは法を遵守した合法的なウェブサイトで...

情報漏洩事件の容疑者2人が拘束される:昼はエンジニア、夜はハッカー

実際、法的意識の弱さと遊び心により、インターネット企業のセキュリティに携わる技術スタッフやセキュリテ...

ターンキーインターネット - $3.89/年/KVM/1G メモリ/1Gbps 無制限トラフィック

Turnkeyinternet は、知らない人もいるかもしれませんが、ベテランなら知っているはずです...

今週のニュースレビュー: Qvod が Qvod サーバーを閉鎖、Weibo がナスダックに上場

1. 「2014年にインターネットを浄化しよう」キャンペーンはオンライン文学界に動揺を引き起こした4...

誇大宣伝マーケティングの3つの強力なツール

誇大広告にはどれほどの力があるのでしょうか。誇大広告は人を生き返らせ、肉を骨に変えてしまうほどの力が...

クラウドドメイン名の価格が高騰し、クラウドドメイン名やyunドメイン名が人気に

大手インターネット企業はクラウドサービスを立ち上げ、買収や登録を通じてクラウドドメイン名を取得しまし...

formohost: アジア、アメリカ、ヨーロッパ、オセアニアの36の国と地域でVPSと専用サーバーを運営しています

米国デラウェア州に登録されているホスティング会社であるformohostは、世界36か所以上のデータ...