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

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

推薦する

LNMP を展開して HTTPS サービスを有効にする方法に関するチュートリアル

LNMP とは: Linux+Nginx+Mysql+(php-fpm、php-mysql)つまり、...

Reactは二次連結(左右連結)を実現する

この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...

in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明

in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明コード例: <se...

Linuxでのソフトウェア(ライブラリ)の更新コマンドの詳しい説明

Ubuntu サーバーにパッケージをインストールする場合、sudo apt-get install ...

MySQLのunion allとunionの違いを簡単に理解する

Union は、重複行を除外し、デフォルトのソートを実行する、データに対する結合操作です。Union...

mysql5.5.28 のインストール チュートリアルは非常に詳細です。

参考までにmysql5.5.28のインストールチュートリアルです。具体的な内容は次のとおりです。イン...

CSS は Google マテリアル デザインのテキスト入力ボックス スタイルを実装します (推奨)

みなさんこんにちは。今日は、純粋な CSS を使用して Google マテリアル デザインのテキスト...

CSS中級者向けアダプティブレイアウトの5つのソリューションの詳細な説明

序文ページを作っていく上で、ページレイアウトに関する内容に遭遇することが多く、面接でも聞かれることも...

CentOS7 は rpm を使用して MySQL 5.7 をインストールするチュートリアル図

1. 4つのrpmパッケージをダウンロードする mysql-コミュニティクライアント-5.7.26-...

HTML CSS JS はタブページのサンプルコードを実装します

コードをコピーコードは次のとおりです。 <html xmlns="">...

Vueはパーセンテージバー効果を実現します

この記事では、パーセンテージバーを実現するためのVueの具体的なコードを参考までに共有します。具体的...

Dockerレジストリイメージ同期の実装アイデア

はじめに以前は、Docker イメージは Azure のコンテナー レジストリに保存されていました。...

MySQL SQL ステートメントのパフォーマンス チューニングの簡単な例

MySQL SQL ステートメントのパフォーマンス チューニングの簡単な例サーバー開発を行う際には、...

DockerコンテナでPythonを実行するディープラーニング環境を構築する方法

タスク マネージャーで仮想化を確認し、有効になっている場合は仮想化を、無効になっている場合はコンピュ...

IDEA の Maven プロジェクトで MySQL 8.0 に接続して使用する方法に関するチュートリアル

まず、私の基本的な開発環境を見てみましょう。オペレーティングシステム: MacOS 10.13.5 ...