WebプロジェクトのDockerデプロイメントの実装

WebプロジェクトのDockerデプロイメントの実装

前回の記事では、docker サービスをインストールしました。引き続き、Web プロジェクトのデプロイ方法を紹介します。

1: ランダムにディレクトリ dock を作成し、以下のファイルを用意します。

2. Dockerイメージを素早く構築できるDockerfileを書く

vi Dockerファイル

次の設定を追加します

Centosより
メンテナー これはドックイメージです <jsh>
jdk1.8.0_191 /usr/local/javaを追加します。
環境変数 JAVA_HOME /usr/local/java
ENV JAVA_BIN /usr/local/java/bin
環境変数 JRE_HOME /usr/local/java/jre
環境変数 PATH $PATH:/usr/local/java/bin:/usr/local/java/jre/bin
ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jar
apache-tomcat-8.5.40 /usr/local/tomcat8 を追加します。
エントリポイント ["/usr/local/tomcat8/bin/catalina.sh","run"]
./manager.war /usr/local/tomcat8/webapps を追加します
エクスポーズ8080

説明する:
(1) FROM centos は、Docker公式リポジトリからcentosベースイメージを取得することを意味します。 (2) ADD jdk1.8.0_191 /usr/local/ は、カレントディレクトリ(Dockerfileと同階層のディレクトリ)にあるjdkをイメージの/usr/local/に追加します。 (3) ENV JAVA_HOME /usr/local/jdk1.8.0_191 は、Java環境変数を設定します。 (4) EXPOSE 8080 は、外部からアクセスできるようにポートを公開します。 (5) CMD /usr/local/tomcat8/bin/catalina.sh run は、コンテナ起動後に実行されるコマンドです。CMDが複数ある場合は、最後のもののみが有効です。

3. イメージを構築する

コマンド: docker build -t dock . (dock. の後にスペース) を実行すると、ビルドが自動的に完了します。ドックは画像​​名を識別します

4. コンテナを実行する

コマンド: docker run -d -p 8060:8080 dock
-dはコンテナをバックグラウンドで実行し、コンテナIDを返すことを意味します。
-p はポート マッピングを使用します。8060:8080 は、コンテナーのポート 8080 をホストのポート 8060 にマッピングすることを意味します。

実行中のコンテナコマンドをすべて表示: docker ps -all

5. テスト展開結果

ip:8060 tomcat ページが表示されたら、コンテナが正常に起動したことを意味します。

これで、Web プロジェクトの Docker デプロイメントの実装に関するこの記事は終了です。Web プロジェクトの Docker デプロイメントに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Tomcat および Web アプリケーションの Docker デプロイメントの実装
  • Docker で Tomcat を使用して Web アプリケーションを迅速にデプロイする方法の例
  • Docker コンテナは Jenkins を使用して Web プロジェクトをデプロイします (概要)
  • Docker を使用して Web プロジェクトをデプロイし、イメージ ファイルにパッケージ化する方法の詳細な説明
  • Docker 学習ノート: Java Web システムの Docker デプロイメント

<<:  React プロジェクトにおける axios カプセル化と API インターフェース管理の詳細な説明

>>:  Mapper SQL ステートメント フィールドとエンティティ クラス属性名の関係は何ですか?

推薦する

Nginx を使用してフロントエンドのクロスドメイン問題を解決する方法

序文Vue アプリケーションなどの静的ページを開発する場合、クロスドメインになる可能性のあるインター...

Linux 上での MySQL データベースのリモート展開の詳細な手順

LinuxリモートMySQLデータベースの展開、参考までに、具体的な内容は次のとおりです。 1.0 ...

HTML テーブル マークアップ チュートリアル (39): ヘッダーの明るい境界線の色属性 BORDERCOLORLIGHT

テーブル ヘッダーでは、明るい境界線の色を個別に定義できます。基本的な構文<TH ボーダーカラ...

Flexboxレイアウトの最もシンプルなフォーム実装

フレキシブル レイアウト (Flexbox) はますます人気が高まっており、CSS レイアウトの記述...

HTMLでマスクレイヤーを実装する方法 HTMLでマスクレイヤーを使用する方法

Web ページでマスク レイヤーを使用すると、繰り返しの操作を防ぎ、読み込みを促進できます。また、ポ...

MySQLデータベースのトランザクションとロックの詳細な分析

目次1. 基本概念酸3.自動コミット4. トランザクション分離レベル5. 同時実行の一貫性の問題6....

Vueメソッドに基づくシンプルなタイマーの実装

Vueのシンプルなタイマーを参考にしてください。具体的な内容は以下のとおりです原理: setInte...

Linuxでポートが開いているかどうかを確認する方法のまとめ

方法1: lsofコマンドを使用するlsof コマンドを使用して、ポートが開いているかどうかを確認で...

Linux\Nginx 環境での仮想ドメイン名の設定とテスト検証

Nginx 仮想ドメイン名設定を使用すると、ドメイン名を購入せずに特定のドメイン名を介してローカル ...

CSS 動的高さ遷移アニメーション効果の実装

この質問は、Nuggets のメッセージから生まれました。友人が、次のコードの高さ遷移アニメーション...

Vue のルータールーティングの 2 つのモード (ハッシュと履歴) の詳細な説明

ハッシュモード(デフォルト)動作原理:ウェブページのハッシュ値の変化を監視する—> onhas...

MySQLの文字セットと検証ルールの詳細な説明

1いくつかの一般的な文字セットMySQL で最も一般的な文字セットには、ASCII 文字セット、ラテ...

水平スクロールバーを実装する2つの方法の例

序文:プロジェクトの開発中に、1 行にナビゲーション バーが多すぎる場合に水平スクロール バーを実装...

Vue のスロットとフィルターの詳細な説明

目次スロットスロットとは何ですか?スロットの内容コンパイルスコープフォールバックコンテンツ名前付きス...

HTML の基礎: HTML コンテンツの詳細

まずは本体から始めましょう:ウェブページを閲覧するとき、最初に目に留まるのは通常、ページの背景です。...