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

推薦する

mysql 5.7.23 winx64 解凍バージョンのインストールチュートリアル

参考までに、mysql-5.7.23-winx64 解凍版の詳細なインストールチュートリアルです。具...

Windows10でmysql8.0.17を置き換える詳細なチュートリアル

この記事では、Windows10でmysql8.0.17を置き換える具体的な手順を参考までに紹介しま...

Ubuntu 18.04 サーバーのパスワードを忘れたり改ざんされた場合にパスワードをリセットする方法

最近、サーバー上のアカウントが2つハッキングされ、パスワードが改ざんされました。幸い、まだ使えるアカ...

Nginx 構成 クロスドメイン リクエスト Access-Control-Allow-Origin * 詳細な説明

序文403 クロスオリジン エラーが発生しNo 'Access-Control-Allow-...

Redis を Docker コンテナとして素早くデプロイする方法

目次はじめるデータストレージサーバーを構成するRedis セキュリティの管理Redisインストールの...

Mac で MySQL バージョン 5.6 のパスワードを設定する方法

MySQLはインストール時に設定できますが、それより低いバージョンは設定できないようで、インストール...

WeChatミニプログラムページとコンポーネント間の情報伝達と機能呼び出し

今回は、私自身の開発経験を踏まえて、以下の観点で関連内容を解説します。ページからコンポーネントにデー...

Vueはキャンバスの手書き入力を使用して中国語を認識します

効果画像: 序文:最近、屋外の大画面プロジェクトに取り組んでいました。システムの入力方法は使いにくか...

Apacheドメイン名設定の落とし穴の詳細な説明

私はApacheを使ったことがありません。仕事を始めてからはずっとnginxを使っていました(運用保...

SQL 実践演習: オンライン モール データベースの製品カテゴリ データ操作

オンラインショッピングモールデータベース - 商品カテゴリデータ操作(I)プロジェクトの説明電子商取...

CSS でショートカット プロパティを記述する際は、トラブルの順序に注意してください (落とし穴を避けるため)

ショートハンドプロパティは、複数のプロパティに同時に値を割り当てるために使用されます。たとえば、fo...

クラウド CentOS で Docker リモート サービス リンクを有効にするための実装手順

ここでは、dockerがインストールされたcentosサーバーを紹介し、リモートリンクサービスを開始...

MySQL における Datetime と Timestamp の使用の概要

目次1. MySQL で現在の時刻を表現するにはどうすればよいでしょうか? 2. TIMESTAMP...

Linux での感嘆符コマンド (!) の使用の概要

序文最近、弊社では mbp の設定をしており、ssh を使うことが多くなりました。複雑なコマンドを書...

JavaScript はフロントエンド Web ページでカウントダウンを実装します

ネイティブJavaScriptを使用してカウントダウンを簡単に実装します。参考までに、具体的な内容は...