コマンドを実行します: docker run --name centos8 -d centos /bin/bash。docker ps を使用して実行中のコンテナを表示しますが、centos8 は見つかりません。 docker ps -aを実行すると、centos8コンテナがすでに停止状態になっていることがわかります。 [root@MiWiFi-R4A-srvサーバー]$ docker run --name centos8 -d centos /bin/bash a770630ca865b3c3346a321a383f302ed22af9281be8482f4f4debc59218d0d1 [root@MiWiFi-R4A-srvサーバー]$ docker ps コンテナID イメージ コマンド 作成ステータス ポート名 [root@MiWiFi-R4A-srvサーバー]$ docker ps -a コンテナID イメージ コマンド 作成ステータス ポート名 a770630ca865 centos "/bin/bash" 37 秒前 終了 (0) 35 秒前 centos8 なぜ辞めたのですか? これは、Docker がバックグラウンドで実行され、フォアグラウンド プロセスが存在する必要があるためです。 docker によって実行されるコマンドが常にハングするコマンド (top、ping など) でない場合は、自動的に終了します。上記のコードでは、 -d centos は実行する必要がある指定されたコマンドです。コマンドが実行されるか、アプリケーションが終了すると、コンテナは自動的に停止します。 回避策 フォアグラウンドプロセスとして実行 実行中のプログラムはフォアグラウンド プロセスとして実行されます。コンテナーが複数のプロセスを同時に開始する必要がある場合は、そのうちの 1 つをフォアグラウンドに一時停止するだけで済みます。 たとえば、上記の Centos コンテナの場合、対話モードで起動するには起動コマンドを変更するだけで済みます。
または Web コンテナ:
ヒント フォアグラウンドで実行できる tail top などのプログラムを追加して、ログ ファイルを継続的に出力します。
上記の Web コンテナを例にとると、次のように記述できます。
独自のスクリプトを作成する centos/ubuntu コンテナを起動するときに、無限ループを作成して何かを継続的に出力することで、コンテナが何もすることがないと判断して自殺しないようにすることができます。
補足知識: docker でコンテナを起動すると、CMD によって呼び出される sh スクリプトの if コマンドが予期しないシンボル if[[ を報告します。 解決策 最近、Dockerfile でイメージを作成しました。コンテナを起動するために、CMD で sh スクリプト (start.sh) が呼び出されました。docker run で起動したところ、起動に失敗しました。docker logs container ID を実行したところ、次のエラーが見つかりました: Unexpected symbol if [[ 外部 Linux システムで start.sh を直接実行することに成功しました。docker exec を介してコンテナに入り、コンテナ内でエラーなしで start.sh を呼び出しました。コマンドで起動する必要のあるすべてのプログラムが正常に起動しました。スクリプトを直接実行すると問題ないのですが、docker run を経由するとエラーが発生してしまい困惑しています。 start.shのエラーコードセグメントは次のとおりです。 if [[ -e /home/dc/testnn-aaa.zip ]];then rm -rf /home/testnn-aaa 解凍 -q -o -d /home testnn-aaa.zip echo "zip の解凍が完了しました" それ以外 echo "dc zip が存在しません" フィ 確認して比較したところ、私の start.sh にもエラー文の前に if 文があるのにエラーが報告されないため、2 つの場所の違いは最初の if が単一の [] を使用していることであることがわかりました。コードを [] に変更すると成功します。変更内容は次のとおりです。
docker run または docker restart でイメージを起動すると自動的に終了する問題を解決する上記の記事は、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Reactソースコードにおけるビット演算について詳しく説明します
目次これ方法オブジェクト内これを隠した厳密モード要約するJavaScript の this も不思議...
仮想マシンは非常に便利なテストソフトウェアです。ハードウェアに損傷を与えることなく、さまざまなテスト...
IPツールを取得 lombok.extern.slf4j.Slf4j をインポートします。 org....
目次1. 問題のシナリオ2. 原因分析3. 解決策4. 知識を広げる4.1 クエリの最適化を制限する...
今日、仕事中に左結合に関するSQLの問題に遭遇しました。後で解決しましたが、この問題を通じてSQLの...
始める前にクラウドサーバーを持っています。私のはTencent Cloud Server (Cent...
目次次のチェックv-model 構文シュガー.sync 修飾子$セット計算プロパティセット要約する次...
目次主キー制約ユニーク制約主キー制約PRIMARY KRY 主キーは一意です。テーブルには主キーを ...
Toutiao IT School で、CSS がフロントエンドの画像変形の問題を完璧に解決するとい...
ここでは、dockerがインストールされたcentosサーバーを紹介し、リモートリンクサービスを開始...
1. 既存のモジュールを表示する nginx の sbin ディレクトリに nginx の sbin...
導入インターネット アプリケーションの普及に伴い、膨大なデータの保存とアクセスがシステム設計における...
この記事では、MySQL 5.6.37のダウンロード、インストール、設定のチュートリアルを参考までに...
目次オブジェクトプロトタイプの値()オブジェクトプロトタイプtoString()シンボル.toPri...
目次1. はじめに: 2. プロトタイプチェーン継承: 3. コンストラクタ継承の借用(オブジェクト...