Docker で war をデプロイするには、コンテナを使用する必要があります。ここでは tomcact コンテナを使用します。実際には、war パッケージを tomcat の webapps ディレクトリにドロップするだけです。tomcat が起動すると、war パッケージが自動的に解凍されます。 1 つは、Tomcat コンテナ イメージを Docker にインストールし、Tomcat イメージの下の Web アプリに war パッケージをドロップすることです。ただし、Tomcat が閉じられている場合、その Web アプリケーションの下のパッケージは消えます。2 つ目はマウントを使用して、Tomcat コンテナーのイメージをインストールしますが、WAR パッケージを Tomcat の下の Web アプリケーションにドロップせず、外部フォルダーを直接作成し、この外部フォルダーを WABAPPS に関連付けます。これにより、新しく作成されたフォルダーに WAR をドロップすると、Tomcat の Web アプリケーションもマウントされている WAR パッケージを読み取ることができます。 1. tomcatイメージをインストールして起動する 1. docker が起動状態にあることを前提として、docker の下で tomcat イメージを検索します。ここでは、docker を起動する方法と、自動的に起動するように設定する方法については説明しません。 docker 検索 tomcat 2. 名前でdockerをダウンロードします。docker pull docker.io/tomcat 3. Tomcatを起動する docker run -d -p 8088:8080 docker.io/tomcat -d はバックグラウンドで実行することを意味し、 -p はポート マッピングを意味し、前面の 8088 は外部アクセス ポート (つまり、ローカル IP によって外部に開かれるポート)、背面の 8080 は Docker コンテナー内のポートです。 4. Tomcatが起動しているかどうかを確認します 3. SpringbootプロジェクトをWarパッケージプロジェクトに変換する 私は springboot を使い慣れているので、war パッケージ プロジェクトを作成するのは面倒です。そこで、新しい springboot プロジェクトを作成し、それを war プロジェクトに変更しました。すでに war パッケージ プロジェクトがある場合は、この手順を無視できます。 1. SpringBootプロジェクトを作成します。これについてはここでは説明しません。必要な場合は、別のブログ「SpringBootを簡単に作成して使用する」をお読みください。 2. pom.xmlファイルを変更する 2.1 jarをwarに変更する 2.2 組み込みWebモジュールのTomcatを削除する 2.3 サーブレットの依存関係を追加します。そうしないと、パッケージングでエラーが報告されます。 <依存関係> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <バージョン>3.1.0</バージョン> </依存関係> 2.4 プロジェクトにエイリアスを追加します。ビルド タグの下に、プロジェクト名である finalName を追加します。追加しない場合、プロジェクト名はアーティファクト ID バージョンになり、生成される war パッケージ名もアーティファクト ID バージョン.war になります。ブラウザーでアクセスすると、プロジェクト名が長くなりすぎます。このステップは個人の好みによって異なります 3. スタートアップクラスを変更します。スタートアップクラスはSpringBootServletInitializerを継承します。 4. tomcatコンテナのwebappsの下にwarパッケージを配置し、warパッケージを起動します。 1. アップロードしたwarパッケージを保存するフォルダを作成します。ルートディレクトリに配置します。 mkdir warPackageを実行し、ファイルをこのディレクトリに転送します。 2. warパッケージをTomcatコンテナのwebappsディレクトリにコピーします。 2.1. 実行中のTomcatコンテナのコンテナIDを確認し、docker psを実行する必要があります。 2.2. tomcat コンテナの webapps ディレクトリに war パッケージをコピーします。コマンドの形式は次のとおりです: docker cp xxx.war パッケージ パス コンテナ ID:/コピー先のディレクトリ パス docker cp /warPackage/dockerProject.war e591e16899c6:/usr/local/tomcat/webapps 2.3. コピーされているかどうかを確認する dockerでtomcatコンテナに入ります: docker exec -it e591e16899c6 /bin/bash コンテナを終了する: exit 3. コンテナを再起動します: docker restart + コンテナID 4. ブラウザのアクセス パスは次のとおりです: アクセスしたポート: プロジェクト名/インターフェース名。私のプロジェクト名は dockerProject です。Docker は私が作成したシンプルなコントローラーです。 5. マウントディレクトリを使用してwarパッケージを起動します。 マウントとは、サーバー上に別のディレクトリを作成し、それをTomcatの下のWebアプリケーションのパスにマップして、Tomcatが外部フォルダ内のファイルを読み取ることができるようにすることである。 1. 手間を省くために、上で作成した/warPackageフォルダを直接使用します。 2. ディレクトリをマウントし、Tomcatコンテナを実行して、自動的に再起動するように設定します: --restart=always docker run -d -p 8088:8080 -v /warPackage/:/usr/local/tomcat/webapps --restart=always docker.io/tomcat 次に、tomcatディレクトリに入ると、すでにwebappsの下にあることがわかります。 3. ブラウザアクセス Docker を使用して war パッケージ プロジェクトをデプロイする方法についての記事はこれで終わりです。 war パッケージの Docker デプロイに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。 今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: JavaScript のよりエレガントなエラー処理方法 async await
>>: MySQL alter ignore構文の詳細な説明
HTML ウェブ ページのハイパーリンク タグの学習チュートリアル リンク タグの属性 リンクは、ウ...
水平方向では、テーブル ヘッダーの配置を左、中央、右に設定できます。基本的な構文<TH ALI...
ウェブサイト機能を開発する場合、セッション キャッシュを時間内にクリアできません。一連の探索が始まり...
この記事では、MySQL 8.0.17のインストールと設定方法を参考までに紹介します。具体的な内容は...
製造手順を分析します。 1. リソースを準備してシーンを構築するオンラインでリソースを探すか、私のリ...
1. 仮想マシン(物理マシン)をインストールする仮想マシンまたは物理マシンにインストールできます。 ...
序文:年末です。データベースを検査する時期ではないでしょうか?一般的に、検査では、パスワードの複雑さ...
1. 使用シナリオこのような要件があるため、システムが開発されました。ユーザーがデスクトップを離れ...
1. MySQL Yumリポジトリを追加するMySQL公式サイト>ダウンロード>MySQ...
コードを見てみましょう:コードをコピーコードは次のとおりです。 < !DOCTYPE html...
以前、MySQL クエリ文の実行プロセスについての記事がありました。ここでは、更新文の実行プロセスを...
最近MySQLデータベースのバージョンを変更する必要があり、それを記録するために記事を書きます1. ...
コードをコピーコードは次のとおりです。 <div スタイル="幅:630px;高さ:...
MySQLはシーケンス関数を実装する1. シーケンスレコードテーブルを作成する テーブル `sys_...
事故の背景: 数日前、プロジェクトの必要性により、サーバーに python-mysql モジュールを...