Docker コンテナで DockerFile を使用して複数の Tomcat サービスをデプロイする手順

Docker コンテナで DockerFile を使用して複数の Tomcat サービスをデプロイする手順

1.

[admin@JD ~]$ cd opt

#ルートディレクトリにoptと入力

2.

[admin@JD opt]$ mkdir web

#Webフォルダを作成する

3.

[admin@JD web]$ cd web/

#Webフォルダに入る

4.

[admin@JD web]$ Dockerfileをタッチする

#Dockerfile フォルダーを作成します。名前は正しくなければなりません。正しくないと検出できません。

5.

サードパーティのツールを使用して、TomcatとJDKをWebフォルダにアップロードします。

6.

[admin@JD web]$ vim Dockerfile

#ファイルを編集して次の内容を記述します

Centosより
メンテナー
./apache-tomcat-7.0.88.tar.gz /rootを追加します。
./jdk-7u80-linux-x64.tar.gz /root を追加します。
環境変数JAVA_HOME /root/jdk1.7.0_80
環境変数 PATH $JAVA_HOME/bin:$PATH
エントリポイント /root/apache-tomcat-7.0.88/bin/startup.sh && tail -F /root/apache-tomcat-7.0.88/logs/catalina.out

リソースのダウンロード

FROMコマンド、使用法、FROM <image>:<tag>、FROMコマンドはDockerに、構築する(ディストリビューション)イメージがどのイメージに基づいているかを伝えます。

ENVコマンド、使用法、ENV <キー> <値>、ENVコマンドは主にコンテナの実行時に環境変数を設定するために使用されます

ADDコマンド、使用法、ADD <src> <dest>、ADDは主にホストマシン内のファイルをイメージに追加するために使用されます

7.

[admin@JD web]$ docker build -t test/centos:tomcat-centos --rm=true 。

#-t はカスタマイズするリソース名を指定します

# --rm=rtue 指定されていないファイルの生成を減らす

# 一部のファイルが自動的に生成されダウンロードされた後、リクエストがタイムアウトする場合があります。

8.

[admin@JD web]$ docker run -d -p 9090:8080 fe8d

#Tomcatを起動し、ポート8080をポート9090にマッピングします。fe8dリソースIDの最初の4桁

9.

[admin@JD web]$ docker run -d -p 9091:8080 fe8d

# 競合なしで 2 番目の Tomcat ポートを起動します。

10. ブラウザでサーバーのIP + ポート番号を開くと、cat #dockerが自動的にファイアウォールルールを追加することがわかります。私はiptablesファイアウォールを使用しています

dockerfile ファイルをビルドして完了するだけです。

追加知識: Docker でオープンソース オブジェクト ストレージ (minio) を構築する

以前、あるプロジェクトをやったことがあります。顧客は外部ネットワークにデータを取得できなかったため、内部ネットワーク上にしか OSS オブジェクト ストレージを構築できませんでした。私たちは Jidao のプラットフォームを利用してビジネスをしていました。彼らは S3 標準を採用していたので、私たちは minio を使用してオープンソースの OSS オブジェクト ストレージ スペースを構築しました。実際はとても簡単でした。

docker pull minio/minioはリポジトリからイメージをプルします

docker run -p 9000:9000 --name minio1
-e “MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE”
-e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
-v /mnt/データ:/データ
-v /mnt/config:/root/.minio
minio/minio サーバー /データ

起動する

minioを選ぶ理由についてお話ししましょう

(1)C++インターフェースのサポートが必要です。S3標準を採用しているのでAmazon AWSが利用できます。

(2)これは軽量で、同時実行性の高いソリューションである。

(3)FastDFSやHDFSと比較した場合、フロントエンドディスプレイに一定の実現可能性を確保できるという利点がある。

C++ および Java パッケージは後で投稿します。

Docker コンテナ上で DockerFile を使用して複数の Tomcat サービスを展開する上記の手順は、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • DockerはDockerfileを使用して、sshサービスの自動起動をサポートするコンテナイメージを作成します。
  • Dockerコンテナ内で2つのプロセスを開始するときのDockerfile実装コード
  • MyEclipse でビルドした Java Web プロジェクトを Docker の Dockerfile コンテナーで実行する
  • Dockerfileを使用してシンプルなコンテナを作成する方法

<<:  MySQL でパーティション分割後にクエリを実装するために MRG_MyISAM (MERGE) を使用する例

>>:  ウェブページの表の分割線を削除する方法

推薦する

MySQL の無効な左結合の問題を解決する方法とその使用上の注意

MySQLの左結合が無効であり、その使用方法今日SQLを書いていたとき、左結合を使用すると左のテーブ...

MySQL 5.7.13 のインストールと設定方法のグラフィック チュートリアル (win10 64 ビット)

この記事では、参考までにMySQL 5.7.13 winx64のインストールと設定方法のグラフィック...

antd ツリーと親子コンポーネント間の値転送問題について (React のまとめ)

プロジェクト要件: 製品ツリー ノードをクリックすると、そのノードのすべての親ノードが取得され、表に...

親コンテナの CSS 均等分割 (完全三分の一) の実装

親コンテナの幅は固定されています。子要素が親の幅を均等に分割するには、どのような方法がありますか?コ...

コンテンツウェブページの画像プレビューのデザイン

<br />以前、「コンテンツページ番号のプレビューナビゲーション」と「写真プレビューナ...

ウェブサイトのハイパーリンクを開く方法に関する議論

新しいウィンドウが開きます。 利点: ユーザーがリンクをクリックしても、現在閲覧しているコンテンツは...

プロキシはVue3データの双方向バインディングの原理を実現します

目次1. proxy と Object.defineProperty の利点2. プロキシ監視オブジ...

ES6拡張演算子の理解と使用シナリオ

目次1. 適用メソッドを置き換え、関数を呼び出すときにパラメータを処理する2. 残りパラメータ(残り...

MySQL 5.7.21 winx64 グリーンバージョンのインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 5.7.21のインストールと設定方法を記録しています。具体的な内容は以下のと...

優れた Web UI ライブラリ/フレームワーク 10 選

1. ITミルツールキットIT Mill Toolkit は、リッチ Web アプリケーション用のウ...

Mysql SQL ステートメントのコメント

MySQL SQL ステートメントにコメントを追加できます。MySQL SQL ステートメントのコメ...

興味深いカウントダウン効果を実現するjs

js興味深いカウントダウンケース、参考までに、具体的な内容は次のとおりですコード: <!DO...

ベスト HTML/CSS デザインおよび開発フレームワーク 15 選を紹介します

プロフェッショナルな Web デザインは複雑で時間がかかります。 HTML と CSS フレームワー...

Linux システムで IPv6 をサポートするように Nginx を設定する方法

1. 既存のnginxがipv6をサポートしているかどうかを確認する既存の nginx が ipv6...

Vue で Baidu Map を呼び出して経度と緯度を取得する

プロジェクトでは、現在地の緯度経度を取得したり、場所を検索して緯度経度情報を取得したりする必要があり...