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

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

推薦する

Linux 継続的インテグレーションで Maven を自動的にインストールする方法

Mavenパッケージを解凍する tar xf apache-maven-3.5.4-bin.tar....

MySQLデータの重複チェックと重複排除の実装ステートメント

テーブル user があり、フィールドは id、nick_name、password、email、p...

Vue は携帯電話の認証コードによるログインを実装します

この記事では、携帯電話認証コードログインを実装するためのVueの具体的なコードを参考までに共有します...

Mysql で期間の交差をクエリする方法

MySQLクエリ期間の交差使用シナリオデータベース テーブルには、starttime と endti...

ウェブページのエンコードにおける GB2312、GBK、UTF-8 の違い

まず、GB2312、GBK、UTF-8 はすべて文字エンコーディングであることを理解する必要がありま...

Linux でファイル権限を変更する chmod コマンドの詳細な分析

Linux chmodコマンドを使用して、ターゲット ファイルにアクセス、読み取り、書き込み、または...

Linuxドライバのプラットフォームバスの詳細説明

目次1. プラットフォームバスの紹介1.1. Linuxドライバの分離と階層化1.1.1. Linu...

Vue画像拡大鏡コンポーネントのカプセル化と使用方法の詳細な説明

Vue画像拡大鏡コンポーネントパッケージに基づいて、参考までに具体的な内容は次のとおりです。画像拡大...

WindowsでのMySQLインストールチュートリアルの詳細な紹介

目次1. ダウンロードする前に理解しておくべき概念2. 必要なバージョンを選択する3. MySQLサ...

Flutterを使用して移動可能なスタックウィジェット機能を作成する

この投稿では、キャンバスとドラッグ可能なノード インターフェースを使用するデスクトップおよび Web...

Ubuntu での CUDA と CUDNN のインストールとアンインストールの実装

目次序文グラフィックドライバーをインストールするCUDAをアンインストールするCUDAをインストール...

...

ウェブデザインの詳細分析に関する詳細な議論

設計業務では、設計者がレビューに参加したり、リーダーの一部が設計案の詳細が足りないと言っているのをよ...