Docker に Tomcat をインストールする場合、大きなファイルをダウンロードするときなど、場合によっては Tomcat のメモリがオーバーフローすることがあるので、Tomcat のメモリ サイズを設定する必要があります。Docker で Tomcat のメモリ サイズを設定するには、次の 2 つの方法があります。 1. 設定ファイルをdockerにマウントするtomcat の catalina.sh 構成ファイルを docker でホスト マシンにマウントし、catalina.sh で jvm メモリ サイズを構成します。 1. Tomcat コンテナを再実行する必要があります (注意: ポートとコンテナ名は繰り返すことはできません)docker run -d \ -v /server/webapps:/usr/local/tomcat/webapps/ \ -v /server/catalina.sh:/usr/local/tomcat/bin/catalina.sh \ -v /server/logs/demo:/server/logs/demo \ -e TZ="アジア/上海" \ --privileged=true \ --name デモ \ -p 8080:8080 \ トムキャット8 例: * -v /server/webapps:/usr/local/tomcat/webapps/ 現在のプロジェクトの実行ディレクトリをtomcatの下のwebappsにマウントします * -v /server/catalina.sh:/usr/local/tomcat/bin/catalina.sh は、ホストの catalina.sh を docker の tomcat の下の catalina.sh にマウントします。 * -v /server/logs/demo:/server/logs/demo はログをホストにマウントします * -e TZ="Asia/Shanghai" タイムゾーンを設定 * --privileged=true コンテナ内で実際のルート権限を持つように設定します * -p 8080:8080 マッピングポート * tomcat8イメージの名前 2. catalina.sh の設定メモリ以下にcygwin=falseを追加します: JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=256m" -xms ヒープメモリを初期化する -xmx 最大ヒープメモリ 2. tomcatコンテナのcatalina.shの設定を直接変更するコンテナに直接入り、tomcat の catalina.sh 設定ファイルを修正することもできます。ただし、この方法は、将来再びハングアップすると面倒であり、設定も不便であるため、推奨されません。コンテナを再実行する必要がある場合、コンテナ内のメモリ サイズの設定がわかりません。 1. コンテナに入るdocker exec -it <コンテナ名> /bin/bash 2. catalina.sh 構成ファイルを見つけて構成を追加します (最初の手順で追加した構成ステートメントで問題ありません)// viコマンドがない場合は、vi /usr/local/tomcat/bin/catalina.shをインストールする必要があります // コンテナを終了して再起動する exit docker restart <コンテナ名> 知らせ: Catalina.shを変更する際に、ファイルが読み取り専用ファイルであるか、変更する権限がないというメッセージが表示された場合は、ルート権限でコンテナに入る必要があります。具体的な方法は次のとおりです。 補足: Docker コンテナでのルート権限の取得 Dockerコンテナ内で頻繁に実行する必要がある操作がいくつかあります。たとえば、突然設定ファイルなどを変更する必要があるが、ファイルの変更にはルート権限が必要です。次の解決策を参照してください。 通常、ファイルを変更すると、「読み取り専用ファイルシステム」または「アクセスが拒否されました」というメッセージが表示されます。 1. 設定ファイルをマウントするDocker コンテナを実行するときに、構成ファイルをホスト マシンにコピーし、実行時に -v パラメータをロードして、ホスト マシンの構成ファイルを Docker にマウントすることができます。 2. ルート権限でDockerコンテナに入る注文: docker exec -it -u root <コンテナID> /bin/bash 知らせ: 上記のコマンドを実行する前提は、コンテナを実行するときにこのパラメータ --privileged=true を追加することです。そうしないと、コンテナに入るときに、変更する権限がないというプロンプトが表示されます。 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
<<: MySQL ファントムリードとその排除方法の詳細な説明
1. 背景インターネット アプリケーションの急速な更新と反復という状況では、従来の手作業や単純なスク...
クエリキャッシュ制限query_cache_limit は、単一のクエリで使用できるバッファ サイズ...
目次序文1. ラベルスタイルを定義する2. GeoJSONデータのシミュレーション3. Vercto...
目次導入:感情のインストール:一般的な CSS コンポーネントを追加します。既存のコンポーネントにス...
HTML のフォームを使用して、ユーザーからさまざまな種類の入力情報を収集できます。フォームは、実際...
前回の記事では、beforeとafterの擬似要素を使用してMaterial Designスタイルの...
目次エフェクト表示コードリンクキーコード表形式データコンポーネントのネスト検証方法リセット方法完全な...
ログイン + セッションストレージエフェクト表示ログインに成功すると、ユーザー ID がフロントエン...
負荷リクエスト成功リクエストに失敗しました cmdをクリックし、ファイルパスでEnterキーを押しま...
親コンテナの幅は固定されています。子要素が親の幅を均等に分割するには、どのような方法がありますか?コ...
[問題の説明]アプリケーション側では、次のエラーが時々表示されます。メソッド 'mysql_...
はじめに<br />誰もが高速インターネット接続にアクセスできるわけではありません。たと...
複数行を超えるテキストをインターセプトするための HTML コードは次のとおりです。 HTML:コー...
JavaScript は現在、毎年新しいバージョンがリリースされており、より便利で効率的な新しい演算...
1 Dockerサービスを開始するまず、docker サービスを開始する方法を知っておく必要がありま...