Docker で Tomcat を使用して Web アプリケーションを迅速にデプロイする方法の例

Docker で Tomcat を使用して Web アプリケーションを迅速にデプロイする方法の例

Docker の基本的な操作を学習した後、コンテナにいくつかの基本的なアプリケーションをデプロイしてみます。

この記事では、Docker で Web アプリケーションをすばやくデプロイする方法について説明します。

まず、マシンに Docker をインストールする必要があります。インストールされていない場合は、yum install -y docker コマンドを使用してインストールします。

yum インストール -y docker

Web アプリケーションをデプロイするので、Tomcat は当然不可欠なので、まず Tomcat イメージを取得する必要があります。コマンドは以下のとおりです

docker プル tomcat

この画像は少し大きいので、時間を節約するために事前に取得しておくことができます。

次にTomcatイメージを使ってコンテナを起動します

docker run -it --name webdemo -p 80:8080 tomcat /bin/bash

ここでは、webdemo という名前の対話型コンテナーを起動します。-p 80:8080 は、コンテナーのポート 8080 をホストのポート 80 にマッピングすることを意味します。このようにして、ホストのポート 80 にアクセスすることでコンテナー サービスにアクセスできます。


コンテナが作成されたら、コンテナに入り、内部のファイル構造を確認します。そこに webapps ファイルがあります。Web アプリケーションを war パッケージの形式で保存し、このファイルにコピーするだけです。 Tomcat が自動的に war パッケージを解凍してデプロイするからです。

ホストからコンテナにファイルをコピーするにはどうすればいいですか?

以前のターミナルはコンテナ内にあったため、ここで 2 番目のターミナルを開いて操作しました。私はwarパッケージファイルを/mnt/ディレクトリに置きました


ホストからコンテナにコピーするsudo docker cp host_path containerID:container_path

コンテナからホストにコピーするsudo docker cp containerID:container_path host_path

ここで使用するコマンドは次のとおりです。

ドッカーcp /mnt/webdemo.war a2f2091a661fa51e02c0be54f252fc46fc604932526b17038ccc267affcef12c:/usr/local/tomcat/webapps

長い文字列はコンテナ ID です。自分で確認してください。 後ろのパスはコンテナの内部パスです。本当に理解できない場合は、コピーすることができます。ここで注意してください:コロンの後にはスペースがありません。コロンの前にスペースがあったのでコピーできませんでした。

次のステップはTomcatを起動することです。

war パッケージがコンテナにインポートされました。これで、最初のターミナルに移動して確認できます。


war パッケージがインポートされたことがわかります。ただし、この時点では Tomcat サービスが開始されていません。Tomcat サービスを開始し、Tomcat を利用して war パッケージを解凍してデプロイできるようにしましょう。


ここで、bin ディレクトリに移動し、ディレクトリ内の catalina.sh ファイルを実行して、Tomcat が実行され、Tomcat がフロントエンドで実行されるようにします。そのために、2 番目のターミナルを開きました。

最後に、ブラウザで効果を確認できます。


このページはデモンストレーション用ですので、他の小さなアプリケーションをお持ちの場合はぜひお試しください。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Tomcat および Web アプリケーションの Docker デプロイメントの実装
  • tomcatのDocker自動デプロイの詳しい説明
  • Docker で Tomcat および Java アプリケーションをデプロイする詳細な手順
  • dockerを使用してTomcatをデプロイし、Skywalkingに接続する

<<:  Vue+canvas は、ウォーターフォール チャートを上から下までリアルタイムに更新する効果を実現します (QT と同様)

>>:  MySQL マスタースレーブレプリケーションプロセスの詳細な説明

推薦する

MySQL 外部キー制約とテーブル関係の概要

目次外部キーテーブルの関係を決定する方法テーブル関係を作成する方法1対多の関係 - 従業員テーブルと...

Node.js のモジュール性、npm パッケージ マネージャーの説明

目次モジュール化の基本概念モジュール化とは何かモジュール分解の利点Node.js のモジュール性No...

CSS3アニメーションとHTML5の新機能の詳しい説明

1. CSS3アニメーション☺CSS3 アニメーションは、JavaScript を介して要素のスタイ...

MySQL のスローログ監視の誤報問題の分析と解決

以前は、さまざまな理由により、一部のアラームは真剣に受け止められませんでした。最近、休暇中に、すぐに...

Nginx サーバーが Systemd カスタム サービス プロセス分析を追加

1. nginxを例に挙げるyumコマンドを使用してNginxをインストールしましたSystemd ...

フレックスレイアウトでコンテナ内のコンテンツを維持するためのソリューションの詳細な説明

モバイル側では、フレックスレイアウトが非常に便利です。デバイスの幅に応じてコンテナの幅を自動的に調整...

docker mysqlの起動時に初期化SQLを実行する

1.Mysqlイメージを取得するdocker pull mysql:5.7 2. MySQLイメージ...

mysql ERROR 1045 (28000) 問題の解決方法

私はmysql ERROR 1045に遭遇し、この問題に長い時間を費やしました。私はそれを自分で書き...

Vueはコードのハイライトを実現するためにモナコを使用しています

Vue 言語と要素コンポーネントを使用して、コード コンテンツの入力を必要とし、ハイライト表示が可能...

JavaScript は、シンプルな虫眼鏡の最も完全なコード分析を実装します (ES5)

この記事では、参考までに、シンプルな虫眼鏡を実装するためのJavaScriptの具体的なコードを紹介...

フォーム要素の簡単な実装コードでは登録を例に挙げています

コード実装:コードをコピーコードは次のとおりです。 <!DOCTYPE html> &l...

VMware IOInsight を使用して、仮想マシンのストレージ パフォーマンスの監視を改良する

例: VMware IOInsight は、VM のストレージ I/O 動作を理解するのに役立つツー...

HTML をホームページとして設定し、お気に入りに追加_Powernode Java Academy

IE ブラウザで「ホームページとして設定」および「お気に入りに追加」機能を実装する方法解決:指定さ...

Docker nginxのインストールと設定方法

DockerでNginxイメージをダウンロードする docker プル nginx Docker イ...