Tomcat イメージをインストールして Docker に Web プロジェクトをデプロイする方法を簡単に説明します。

Tomcat イメージをインストールして Docker に Web プロジェクトをデプロイする方法を簡単に説明します。

1. Tomcatをインストールする

1. Docker HubでTomcatイメージを見つける

docker 検索 tomcat 

ここに写真の説明を記入してください

2. 公式画像を取得する

docker プル tomcat

ここに写真の説明を記入してください

ダウンロードが完了するまでお待ちください。時間がかかる場合があります。

ここに写真の説明を記入してください

3. すべてのDockerイメージを表示する

Docker イメージ

ここに写真の説明を記入してください

4. tomcatイメージを起動する

注: 前者は外部アクセスポート、後者はコンテナ内部ポートです

docker run -d -p 8080:8080 tomcat

ここに写真の説明を記入してください

注: 前者は外部アクセスポート、後者はコンテナ内部ポートです。次のコマンドはTomcatをバックグラウンドで起動できます。
-d: コンテナをバックグラウンドで実行し、コンテナ ID を返します。
-i: コンテナを対話モードで実行します。通常は -t と一緒に使用されます。
-t: コンテナの疑似入力端子を再割り当てします。通常は -i と一緒に使用されます。

docker run –d -p 8080:8080 tomcat

ここに写真の説明を記入してください

起動は次のように成功します。

ここに写真の説明を記入してください

5. 実行中のコンテナを表示する

ドッカーps

ここに写真の説明を記入してください

tomcat ホームページを表示するには、IP とポートを入力します。

ここに写真の説明を記入してください

2. 独自のWebプロジェクトをTomcatにデプロイする

1. 戦争パッケージをアップロードする

ここに写真の説明を記入してください

2. 次の内容で「Dockerfile」を作成し、編集します。

トムキャットから
メンテナー *********@163.com 
rm -rf /usr/local/tomcat/webapps/* を実行します。
button.war をコピー /usr/local/tomcat/webapps
ENV TZ=アジア/上海
実行 ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

例:

tomcat から #Tomcat ミラー MAINTAINER *********@163.com #作成者 COPY button.war /usr/local/tomcat/webapps #Tomcat の webapps ディレクトリに配置

3. 新しい画像を生成する

docker build -t button:v1 を実行します。

ここに写真の説明を記入してください

4. 新しいイメージを開始する

docker run -d -p 8080:8080 ボタン:v1

ここに写真の説明を記入してください

5. 起動した画像を確認する

パラメータ -itd を追加して、Tomcat をバックグラウンドで起動し、起動したイメージを次のように表示することができます。

ドッカーps

ここに写真の説明を記入してください

6. Tomcat でプロジェクトを表示するには、次のコマンドを使用して Tomcat イメージを入力します。

docker exec -it ******* /bin/bash #****** はコンテナ ID (CONTAINER_ID) です

ここに写真の説明を記入してください

イメージを入力した後、いくつかのパラメータを変更する場合は、通常、vim を例にとると、テキスト エディタをインストールする必要があります。
ダウンロード先が海外アドレスのため、ダウンロード速度が非常に遅く、中断される可能性がありますので、以下の設定を行ってください。

mv /etc/apt/sources.list /etc/apt/sources.list.bak
  echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list
  echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
  echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list
  echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list

更新する
適切なアップデート
これで、vimなどの必要なソフトウェアをインストールできます。
apt をインストール

7. 表示するIPとポートを入力します

ここに写真の説明を記入してください

8. 指定したコンテナのログを表示できます

docker ログ -f コンテナ ID

ここに写真の説明を記入してください

9. Web プロジェクトをデプロイした後、Docker コンテナとホスト、Docker コンテナと Tomcat アプリケーションがログを出力する時間が、現在の時間から 8 時間ずれることがあります。次の構成を追加できます。

① コンテナを起動するときに、システム時間をコンテナにマウントして、Dockerコンテナとホスト時間の不一致の問題を解決します。
パラメータの追加

-v /etc/localtime:/etc/localtime:ro

完全なコマンドは次のとおりです。

sudo docker run -d --name button-api -p 8080:8080 -v /etc/localtime:/etc/localtime:ro button-api:v1

② docker コンテナと tomcat アプリケーションのログ出力時間が一致しません。tomcat コンテナを起動した後、tomcat の「bin」ディレクトリに入り、catalina.sh ファイルを変更して、コメントの後の最初の行に次の内容を追加します。

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"

次の図に示すように:

ここに写真の説明を記入してください

変更を保存したら、Docker コンテナを再起動します。
再起動方法:
「docker ps」を使用してコンテナ ID を照会し、次のコマンドを使用して再起動します。

docker コンテナ ID を再起動

これによって問題は解決されます。

これで、Tomcat イメージを Docker で簡単にインストールして、Web プロジェクトをデプロイする方法についての説明は終わりです。Tomcat イメージを Docker でインストールしてデプロイする方法についてさらに詳しく知りたい場合は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • IDEA を使用して Web プロジェクトを作成し、Tomcat に公開する方法
  • Spring Boot に埋め込まれた Tomcat を削除し、非 Web 方式で起動する方法
  • IDEA 2020.3.1 で Tomcat をデプロイし、最初の Web プロジェクトを作成するプロセスの詳細な説明
  • Tomcat 初回展開 Web プロジェクト プロセス図
  • tomcatがプロジェクトをリリースした後にWEB-INF/classesの下のファイルがコンパイルされない問題を解決します。
  • SpringBoot webSocketリソースをロードできず、Tomcat起動エラーが発生する問題を解決します
  • Tomcat サーバーの設定と Web プロジェクトの公開に関する IDEA グラフィック チュートリアル
  • Alibaba Cloud Server Linux システムは Tomcat を構築して Web プロジェクトを展開します
  • Tomcat と WebLogic で純粋な HTML ファイルを展開するプロセスの分析
  • IDEA2020.1.2 Webプロジェクトの作成とTomcatの設定に関する詳細なチュートリアル
  • Tomcat を設定して IntelliJ IDEA 2018 で最初の Java Web プロジェクトを実行する方法
  • Idea は、Web プロジェクトを開始するように Tomcat を設定します。グラフィック チュートリアル
  • Java Web プロジェクトが Tomcat エラーの解決を開始する
  • Webリクエストと処理のTomcatソースコード分析

<<:  mySQLキーワードの実行優先度の説明

>>:  Vueキャッシュ機能の使い方

推薦する

Vue で PC 解像度の適応を実装するためのサンプルコード

目次プラン依存関係をインストールする依存関係の導入pxをremに変換するFlexible.jsを変更...

カスタムポップアップボックスを実装するためのJavaScriptシングルトンモード

この記事では、カスタムポップアップボックスを実装するためのJavaScriptシングルトンモードの具...

レスポンシブ Web デザインが価値のない 5 つの理由

この記事は Tom Ewer の Managewp ブログからのもので、現在人気のレスポンシブ デザ...

ウェブフォーム送信方法の詳細な概要

まず、フォームを送信するいくつかの方法を見てみましょう。 1. <!--一般的な送信ボタン--...

CocosCreatorのホットアップデートの包括的な説明

目次序文ホットチェンジとはCocos Hot アップデートの概要マニフェストプロジェクトリソースとゲ...

Navicat でストアド プロシージャ、トリガーを作成し、カーソルを使用する簡単な例 (画像とテキスト)

1. テーブルを作成する<br /> まず、2 つのテーブル (users テーブルと...

CSS を使用してマウスをホバーすることで他のタグのスタイルを変更するサンプルコード

序文:私の知る限り、現在 CSS で制御できるのは、タグをホバーしたときにそのタグの下の兄弟タグとサ...

Alibaba Cloud ECS クラウド サーバー (Linux システム) は、MySQL をインストールした後にリモートで接続できません (落とし穴)

昨日、1年間使用していた Alibaba Cloud サーバーを購入しました。システムは Linux...

nginx keepaliveの具体的な使い方

http1.1 プロトコルのデフォルトのリクエスト ヘッダーでは、図に示すように、デフォルトで ke...

HTMLの表のtbodyは上下左右にスライドできます

テーブル ヘッダーが固定されている場合は、それを 2 つのテーブルに分割する必要があります。1 つの...

JavaScriptタイマーの詳細な説明

目次簡単な紹介間隔の設定説明するパラメータ戻り値使用法タイムアウトの設定説明するパラメータ使用法:タ...

vue router-view のネストされた表示実装

目次1. ルーティング構成2. Vueページのネスト3. ネストされた関係1. ルーティング構成 定...

W3C が推奨するモバイル Web マークアップ言語 XHTML Basic 1.1

W3C は最近、「 XHTML Basic1.1 」と「 Mobile Web Best Prac...

Vueを使用して天気コンポーネントをロードする方法の詳細な説明

この記事では、Vueを使用して天気コンポーネントをロードする方法を参考までに紹介します。具体的な内容...

MySQLでの少し複雑な使用例コード

序文MySQL の構文は誰にとっても難しいものではないと思いますが、この記事では主に MySQL の...