docker run後にコンテナがExited (0)と表示される問題を解決する

docker run後にコンテナがExited (0)と表示される問題を解決する

Centos7 上で openresty 用の Dockerfile を作成し、ビルドしました。

docker run -d -p 801:80 openresty:1.19 /usr/local/openresty/nginx/sbin/nginx

その後、docker ps -aは次のように表示します。

コンテナ ID イメージ コマンド 作成日時 ステータス ポート 名前 9dee2d04b3b5 openresty:1.19 "/usr/local/openrest…" 24 秒前 終了 (0) 7 秒前 gifted_bhabha 69846af3baa7 redis:latest "docker-entrypoint.s…" 24 分前 24 分前起動 0.0.0.0:6379->6379/tcp rds

openresty のステータスは終了 (0) と表示されます。

理由:

Docker の仕組みは、コンテナをバックグラウンドで実行することです。少なくとも 1 つのフォアグラウンド プロセスが必要です。コンテナによって実行されるコマンドが中断されたコマンド (top、tail の実行など) でない場合は、自動的に終了します。

解決する:

-g "daemon off;" 構成項目を含む sh コマンドを使用して、nginx サービスをフォアグラウンド モードで起動できます。

したがって、起動コマンドは次のように調整されます。

docker run -d -p 801:80 openresty:1.19 /usr/local/openresty/nginx/sbin/nginx -g "デーモンをオフにします。"

効果を確認するには、docker ps -aを再度実行します。

コンテナ ID イメージ コマンド 作成日時 ステータス ポート 名前 0291303ca61b openresty:1.19 "/usr/local/openrest…" 29 秒前 28 秒前 起動 strange_curie 69846af3baa7 redis:latest "docker-entrypoint.s…" 26 分前 26 分前 起動 0.0.0.0:6379->6379/tcp rds

補足: Docker は起動時に常に終了状態になります。解決策

Dockerは起動時に常に終了状態になります

回避策

ステップ1. Docker rm container idでコンテナを削除します

ステップ 2: docker rmi イメージ ID を使用してイメージを削除します (イメージは、最初にコンテナを削除した後にのみ削除できます)

ステップ3: docker build -t tomcat:centos 。コンテナを再作成します。

ステップ4. docker run --privileged -it -d --name tomcat01 -p 1216:8080 tomcat:centos (権限を追加)

擬似端末を指定する)

エラーの原因 1. 権限がない 2. 端末が実行されていない

注: –privileged は権限を追加します

-tは擬似端末を指定します

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • 時間のかかるDockerエラーのトラブルシューティングプロセス記録
  • Docker Dockerデーモンに接続できません。このホストでDockerデーモンが実行されていますか?エラーの解決方法
  • Dockerデーモンが起動できません: 保存されたUUIDと一致しませんエラーの解決方法
  • 複数の Docker コンテナが同じポート番号を持たない場合の解決策
  • Dockerコンテナ終了エラーコードの手順

<<:  CSS トランジションを使用した円形ホバー効果のサンプルコード

>>:  誤って削除されたデータを復元するための mysqlbinlog コマンドを使用した mysql の実装

推薦する

mysql8.0.11 winx64 手動インストールと設定チュートリアル

まず、私の日常生活についてお話しします。MySQLの急速なアップデートにより、MySQLはバージョン...

MySQL は、現在のデータ テーブル内のすべての時間に対して指定された時間間隔を増加または減少させます (推奨)

DATE_ADD() 関数は、指定された時間間隔を日付に追加します。現在のテーブル内のすべてのデー...

CSS マージンの折りたたみの詳細な説明

前のこれは古くからある古典的な質問です。以前読者から質問があったので、ここでお答えします。簡単な例か...

MySQL の自動増分 ID に関するいくつかの小さな問題の要約

以下の質問はすべて InnoDB ストレージ エンジンに基づいています。 1. 最も大きな ID を...

IIS を使用して X-Forwarded-For ヘッダー (XFF) を呼び出して訪問者の実際の IP を記録する 2 つの方法

問題: IIS を通じて公開された Web サイトは F5 デバイスの背後に配置されています。透過的...

MySQL DISTINCTの基本実装原理の詳細な説明

序文DISTINCT は、GROUP BY 操作の実装と非常によく似ていますが、GROUP BY の...

WeChat アプレットのカスタム タブバー コンポーネント

この記事では、WeChatアプレットのカスタムタブバーコンポーネントの具体的なコードを参考までに紹介...

mySQLキーワードの実行優先度の説明

以下のように表示されます。表から条件フィールドでグループ化仮想テーブルとフィールドを作成し、フィール...

HTML ページに SVG を挿入する複数の方法

SVG (Scalable Vector Graphics)は、XML 構文に基づいた画像形式です。...

GoogleとFacebookがDockerを使わない理由

この記事を書いた理由は、修正した分散 PyTorch プログラムを Facebook のクラスター上...

HTMLを使用してシンプルなメールテンプレートを作成する

今日は、「ローテク」の問題について書きたいと思います。ちなみに、私は JavaScript Week...

関連するプロパティのリストを含む HTML エリア イメージ ホットスポットの使用の概要

<area> タグは主にイメージマップで使用されます。イメージマップにアクティブ領域 (...

MySQL FAQ シリーズ: ibdata1 ファイルのサイズが突然増加しないようにする方法

0. はじめにibdata1 ファイルとは何ですか? ibdata1 は、innodb システム テ...

CSS3 疑似クラスセレクターの簡単なレビュー

序文CSS がフロントエンド開発の基本的なスキルであるならば、「セレクター」は基礎中の基礎です。これ...

Linuxアカウントファイル制御管理の詳細な手順

Linux システムでは、ユーザーが手動で作成したさまざまなアカウントに加えて、システムまたはプログ...