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 の完全なデータベース バックアップ データを使用して単一のテーブル データを復元する方法

推薦する

HTML フォームタグチュートリアル (3): 入力タグ

HTML フォーム タグのチュートリアル。このセクションでは、主に Web ページで INPUT タ...

スーパーバイザーを使用して nginx + tomcat コンテナを管理する例

必要: docker を使用して nginx + tomcat デュアル プロセスを起動します。実際...

一般的なDockerコマンドの詳細な説明

1. ヘルプコマンド1. 現在のDockerバージョンを表示する docker バージョン2. イメ...

Reactはconetxtを通じてマルチコンポーネント値転送関数を実装します

この関数の効果はvue的provide/injectに似ています。 contextを通じて反応できる...

Vueはソースコード付きのリファレンスライブラリのメソッドを使用します

monaco-editor-vueの公式ソースコードは次のとおりです。インデックス 'mon...

Linux カーネル デバイス ドライバー カーネル デバッグ テクニカル ノート集

/****************** * カーネルデバッグ技術 ****************...

HTML独習の旅(I)基本要素と属性の練習(自分でコードを書く)

私は W3school のチュートリアルに従いました。チュートリアルはとても良いと思います。各セクシ...

JavaScript における正規表現の実際的な応用の詳細な説明

実際の業務では、JavaScript の正規表現が依然として頻繁に使用されます。したがって、この部分...

uniappがインターフェースドメイン名を動的に取得する方法を分析する

背景インターフェイス ドメイン名はハードコードされておらず、動的に取得されます。具体的な実装は、静的...

MySQL でファイルデータをインポートする際の 1290 エラーの解決方法

エラーシナリオcmd の mysql コマンドを使用して、学生情報テーブルにデータを追加します。デー...

JS ループで async と await を正しく使用する方法

目次概要(ループモード - 共通)配列と非同期メソッドを宣言して反復するforループで使用するマップ...

きちんとしたHTMLマークアップを使用してページを構築します

インターネットは絶えず進化する有機体です。長期にわたってインターネットの発展に適応できるページを構築...

CentOS 6.9 で glibc ダイナミック ライブラリをアップグレードする詳細なプロセス

glibc は、gnu によってリリースされた libc ライブラリ、つまり c ランタイム ライブ...

MySQLの7種類のログの概要

MySQL には次のログ ファイルがあります。 1: 再実行ログ2: ロールバックログ(元に戻すログ...

MYSQL 文字列強制変換メソッドの例

序文2 つのテーブル内の同じフィールドの型が異なっていたり、エンコード タイプが異なっていたりするた...