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 の実装

推薦する

Zabbixを介してデータベース接続情報といくつかの拡張機能をすばやく取得します

背景アプリケーション システムの数が増え続けると、当初はアラームを発していなかったアクティブ スレッ...

ウェブデザインの教育または学習プログラム

セクションコース内容営業時間1 ウェブデザインの概要2 2 HTML 基本タグとフォーマットタグ 2...

テーブルを動的に読み込み、削除する JavaScript

この記事では、テーブルを動的に読み込み、削除するためのJavaScriptの具体的なコードを参考まで...

Nginx の純粋な構成でリアルタイム ログ レポートを実現するためのアイデアと方法

目次序文実装のアイデア実装手順1. Nginxをコンパイルする2. 設定ファイルは以下のとおりです要...

Django+Mysql+Redis+Gunicorn+NginxのDockerデプロイメントの実装

I. はじめにDockerテクノロジーは現在非常に人気があります。コンテナを介してプロジェクト環境を...

MySQL 5.7 のユニオンオール使用法のブラックテクノロジーを 5 分で学ぶ

MySQL 5.6 での union all のパフォーマンスパート 1:MySQL 5.6.25 ...

CSS でデジタル ページング効果のコードと手順を実装する方法

かなりの数のウェブサイトがデジタルページング効果を使用しています。たとえば、このサイトのページングも...

HTTP 戻りコード一覧(中国語と英語の説明)

httpリターンコードリスト(以下は概要です)詳細な中国語の説明についてはここをクリックしてくださ...

MySQL最新バージョン8.0.17解凍版インストールチュートリアル

個人的にはインストール版よりも解凍版の方がインストールしやすいと思います。早速、解凍版のインストール...

CSS3は、欠けた角の長方形、折り畳まれた角の長方形、欠けた角の境界線を実装しています。

序文数日前、偶然、コーナーの四角形が欠落している機能に遭遇しました。最初に頭に浮かんだのは、必要な場...

CSS3 境界効果

CSSとは# CSS (Cascading Style Sheets の略) は、「カスケーディング...

MySQL マスタースレーブ構築(複数のマスターと 1 つのスレーブ)の実装アイデアと手順

背景:最近、同社のプロジェクトは同時実行のプレッシャーに耐えられないようなので、最適化が差し迫ってい...

MySQL 変数宣言とストアド プロシージャの分析

変数の宣言グローバル変数の設定@a='新しい変数' を設定します。関数やストアドプロ...

RPM パッケージを使用して MySQL 5.7.18 をインストールするチュートリアル

システム:セントOS7 RPM パッケージ: mysql-コミュニティクライアント-5.7.18-1...