Tomcat および Web アプリケーションの Docker デプロイメントの実装

Tomcat および Web アプリケーションの Docker デプロイメントの実装

1.dockerをオンラインでダウンロードする

yum インストール -y epel-release

yum install docker-io # docker をインストールします

chkconfig docker on # 起動するサービスを追加 docker start # docker サービスを開始

2. DockerでTomcatコンテナをインストールする

2.1. サーバーのTomcat情報を見つける

# docker 検索 tomcat 

這里寫圖片描述

2.2 最も高いスタートの公式イメージをダウンロードする

docker プル docker.io/tomcat

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

Docker イメージ

這里寫圖片描述

2.4 Tomcatを起動する

docker run -p 8081:8080 docker.io/tomcat # ポートが占有されている場合は、コンテナとホストのマッピングポートを指定できます。前者は外部アクセスポート、後者はコンテナの内部ポートです。 

這里寫圖片描述

2.5 起動後、192.168.138.132:8080にアクセスできます。

這里寫圖片描述

3. 独自のWebリファレンスを展開する

docker ps # 実行中のコンテナを表示するには次のコマンドを使用します

這里寫圖片描述

3.1. ホストに独自のwarパッケージをアップロードする

這里寫圖片描述

3.2. コンテナcomcatを実行してアドレスを表示する

docker exec -it 3cb492a27475 /bin/bash #真ん中にあるのはコンテナID(CONTAINER_ID)です

這里寫圖片描述

3.3 warパッケージをホストマシンにドロップし、コンテナにドロップしてtomcat/webappsにドロップします。

docker cp NginxDemo.war 3cb492a27475 :/usr/local/tomcat/webapps

3.4. tomcatを起動するか、docker restart [コンテナID]を再起動します。

docker run -p 8081:8080 docker.io/tomcat

3.5 イメージが開始されたかどうかを確認する

ドッカーps 

這里寫圖片描述

3.6 コンテナcomcatでプロジェクトを実行して表示する

docker exec -it 3cb492a27475 /bin/bash #真ん中にあるのはコンテナID(CONTAINER_ID)です 

cd /webapps

ls # プロジェクトを見ることができます

3.7 上記の実行には、コンテナを再起動するとプロジェクトが存在しなくなるという欠点があります。以下は、マウントして起動する方法2です。

docker run -d -v /usr/docker_file/NginxDemo.war:/usr/local/tomcat/webapps/NginxDemo.war -p 8080:8080 docker.io/tomcat

3.8 コードを頻繁に変更する必要があるため、最初の 2 つの方法はテスト環境で使用することを推奨します。方法 3 は本番環境で使用できます。これは公式サイトでも推奨されている方法です

vi Dockerファイル

from docker.io/tomcat:latest #Tomcat イメージ MAINTAINER [email protected] #作成者 COPY NginxDemo.war /usr/local/tomcat/webapps #Tomcat の webapps ディレクトリに配置します

這里寫圖片描述

3.8.1 新しいイメージを生成する:

nginx-demo をビルドします。 

這里寫圖片描述

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

docker run -p 8080:8080 nginx-demo:v1 

這里寫圖片描述

他の

# 基本情報 dockerのバージョンを表示

# クライアント、サーバー、依存する Go などを含む docker のバージョン番号を表示します。docker info 
# 管理対象イメージ、コンテナの数など、システム (docker) レベルの情報を表示します。

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

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

<<:  知っておくべき JS 配列削減の高度な使い方 25 選

>>:  MySQL の完全なデータベース バックアップ データを使用して単一のテーブル データを復元する方法

推薦する

MySQLの使い方の詳細な説明

目次1. はじめに2. 本文2.1 Where句の位置2.2 演算子2.3 NULL値1. はじめに...

MySQLのスレッド実行の急増とクエリの遅延の問題を解決する

目次背景問題の説明原因分析CPUクエリが遅い接続数分析する拡大する総括する背景新年を迎える前は、一年...

コンテナDockerCommitを介してイメージを送信し、DockerPushでイメージをプッシュします。

ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを D...

LinuxにMySQLデータベース5.6のソースコードをインストールし、ログインユーザーのパスワードを変更する

この記事では、主に Linux で MYSQL データベースをインストールする方法について説明し、M...

Reactコンポーネント通信の詳細な説明

目次コンポーネント通信の概要コンテンツ3つの方法まとめコンポーネントコミュニケーション - 父から息...

一般的なMySQLストレージエンジンの長所と短所

目次すべてのストレージエンジンを表示InnoDB ストレージ エンジンMyISAM ストレージエンジ...

完全なショッピングカートを実装するためのミニプログラム

ミニプログラムは、参考までに完全なショッピングカート[すべて選択/選択解除して金額を計算/加算と減算...

Vueカスタムカプセル化ボタンコンポーネント

Vueボタンコンポーネントのカスタムカプセル化コードは参考用です。具体的な内容は次のとおりです。ボタ...

JS+Canvas でダイナミックな時計効果を実現

参考までに、Canvas をベースにしたダイナミッククロックのデモを用意しました。具体的な内容は次の...

MySQL 継続的集計の原理と使用法の分析

この記事では、例を使用して、MySQL の継続的な集計の原理と使用方法を説明します。ご参考までに、詳...

指定したディレクトリに nginx をインストールする方法の例

会社の要件により、異なる場所にある 2 つの nginx サーバーを同じマシンにインストールする必要...

JavaScript ESの新機能letとconstキーワードに基づく

目次1. letキーワード1.1 基本的な使い方1.2 変動昇進はない1.3 一時的なデッドゾーン1...

LinuxにVSCodeをダウンロードしてインストールし、プログラミングを使用して現在の時刻を出力する

rpmコマンドがソフトウェアのインストールに使用するパラメータはどれですか: -i rpm コマンド...

TypeScriptの基本型の詳細な説明

目次ブール型数値型文字列型文字列と数値を連結する未定義およびnull配列型タプル型列挙型あらゆるタイ...

MySQL の基本クイックスタート知識のまとめ (マインドマップ付き)

目次序文1. データベースの基礎知識1. データベースとは何ですか? 2. データベースの分類3. ...