今日、Dockerfile を使用してイメージを作成したときに問題が発生し、イメージの実行後にコンテナが自動的に終了しました。 開始コマンド:
実行後、docker psを使用してdockerコンテナが終了したことを確認します。 情報を検索したところ、この問題は複雑ではないことがわかりました。その理由は、Docker コンテナがバックグラウンドで実行される場合、フォアグラウンド プロセスが必ず存在するためです。 解決: 1. 実行中のプロセスをフォアグラウンドで開始します。例: nginx nginx -g "daemon off;" tomcat ./catalina.sh run 2. フォアグラウンドで実行できる tail、top などのプログラムを使用します。ログ ファイルを出力する場合は、特に tail が推奨されます。 DockerfileにENTRYPOINT /opt/tomcat7.0/bin/startup.sh && tail -F /opt/tomcat7.0/logs/catalina.outを追加します。 追加知識: docker pullで取得したTomcatはログを生成しなかったため、手動でtocmat dockerfileファイルを作成し、ログが生成されることを確認しました。 1. dockfileファイルとその説明は次のとおりです。 openjdk:8-jre から メンテナー 環境変数 JAVA_HOME /docker-java-home 環境変数 CATALINA_HOME /opt/tomcat 環境変数 PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/scripts #タイムゾーン RUN echo "Asia/Shanghai" > /etc/timezone mv /etc/localtime /etc/localtime_bak を実行します。 実行 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #トムキャット 環境 TOMCAT_MAJOR 8 環境変数 TOMCAT_VERSION 8.5.35 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.41/bin/apache-tomcat-8.5.41.tar.gz && \ を実行します。 tar -zxvf apache-tomcat-8.5.41.tar.gz && \ rm apache-tomcat*.tar.gz && \ mv apache-tomcat* ${CATALINA_HOME} chmod +x ${CATALINA_HOME}/bin/*sh を実行します。 chmod 777 ${CATALINA_HOME}/logs/ を実行します。 chmod 777 ${CATALINA_HOME}/webapps/ を実行します。 #ユーザー名とパスワードをadminに設定する tomcat-users.xml /opt/tomcat/conf/ を追加します。 #リモートアクセス ADD context.xml /opt/tomcat/webapps/manager/META-INF/ 環境変数 LANG zh_CN.UTF-8 #ポートEXPOSE 8080を開く # Tomcatを起動する ワークディレクトリ /opt/tomcat/bin CMD ["catalina.sh","実行"] 注意: このDockerは外部ファイルを参照する必要があります 詳細はgithubをご覧ください 2. Dockerfileコンパイルコマンド
3. コマンドを実行する docker run -d -p 8080:8080 --name tomcat8 -v /opt/docker-tomcat/logs/:/opt/tomcat/logs/ -v /opt/docker-tomcat/webapps/:/opt/tomcat/webapps/ -v /opt/docker-tomcat/context.xml:/opt/tomcat/webapps/manager/META-INF/context.xml -v /opt/docker-tomcat/tomcat-users.xml:/opt/tomcat/conf/tomcat-users.xml --privileged=true zyj/tomcat docker run コンテナが自動的に終了する問題に対する解決策は以上です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: vue3で注意すべき2つのポイントを詳しく解説:セットアップ
優れた HTML コードは美しい Web サイトの基礎となります。私が CSS を教えるときは、まず...
HTML では、Web ページで使用されるエンコーディングを指定する必要があります。一般的な指定方法...
標準の ab は単一の URI でのストレス テストのみをサポートしており、実際のニーズを満たしてい...
1. データのバックアップ1. mysqldumpコマンドを使用してバックアップするmysqldum...
docker logs コマンドを使用してコンテナ ログを表示できます。コマンド形式: $ dock...
達成された効果実装コードhtml <div class="scene"&g...
1. jdkダウンロードアドレスをダウンロードする我下載的是jdk-8u221-linux-x64....
目次1. ルール 1: Object.Method() 1.1 ケース1 1.2 ケース2 1.3 ...
Docker を起動したら、利用できるオプションを見てみましょう。 公式のものがある場合は、もちろ...
まず、ブロガーはコミュニティ バージョンをプレイしていますが、学習とテストにはこれで十分です。 Bl...
参考までに、ネイティブjsでカルーセル効果(シームレススクロール)を実現しています。具体的な内容は以...
IDEA は Java で最も一般的に使用されている開発ツールであり、Docker は最も人気のある...
目次序文ミキシンMixin ノート (重複名)ローカルミックスイングローバル ミックスイン継承するミ...
目次スケルトンスクリーンとは何ですか?デモデザインのアイデア具体的な実装スケルトンスクリーンとは何で...
目次0. モジュールとは何か1.モジュールの読み込み1.1 方法1 1.2 方法2 2. 輸出と輸入...