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) を使用する例

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

推薦する

進捗バー効果を実現するJavaScript

この記事では、プログレスバー効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

MySQL Undo ログと Redo ログの概要

目次元に戻すログUNDOログの生成と破棄UNDOログの保存元に戻すログ機能トランザクションの原子性の...

進捗バーのネイティブ JavaScript 実装

進捗バーを実装するためのJavaScriptの具体的なコードは参考までに。具体的な内容は次のとおりで...

Vueはel-tree遅延読み込みを使用して、追加、削除、変更、クエリ機能を実装します。

Vue のツリー表示については、プロジェクトが使用されています: エフェクト ダイアグラムがツリー...

Angularルーティングの基礎の詳細な説明

目次1. ルーティング関連オブジェクト2. ルーティングオブジェクトの場所3. ルーティング構成4....

crontab でスケジュールされたタスクが実行されない理由の概要

序文最近、仕事でいくつかの問題が発生しました。crontab でスケジュールされたタスクが実行されま...

bash を使って日付をカウントダウンする方法

重要なイベントまであと何日あるか知りたいですか? Linux bash と date コマンドが役に...

Ubuntu の Docker で mysql5.6 をインストールする方法

1. mysql5.6をインストールする docker 実行 mysql:5.6すべてのアイテムのダ...

画像ソーシャルネットワーキングサイトのUIアプリケーションの比較分析(図)

私たちの生活、仕事、勉強において、ソーシャル ネットワークは徐々に将来のインターネット発展のトレンド...

MySQL DML ステートメントの概要

DML 操作とは、データベース内のテーブル レコードに対する操作を指し、主にテーブル レコードの挿入...

nginx で第 3 レベルドメイン名を設定する方法の例

問題の説明nginx を設定することで、異なるポートを介して異なる Web アプリケーションにアクセ...

Echart Bar の 2 列チャート スタイルの最も完全な詳細な説明

目次序文インストールと設定1. Echartsをインストールする2. Echartsをグローバルに導...

Linux サーバー上で複数の SVN リポジトリを構成するプロセスの詳細な説明

1. 指定されたディレクトリにリポジトリを作成し、ディレクトリ全体を保存してください。この記事のサン...

JavaScript 手ぶれ補正のケーススタディ

原理手ぶれ補正の原理は、イベントをトリガーすることはできますが、イベントがトリガーされてから n 秒...