docker を使用して Linux 環境に Springboot パッケージをデプロイするチュートリアル

docker を使用して Linux 環境に Springboot パッケージをデプロイするチュートリアル

springboot には tomcat サーバーが組み込まれているため、jar パッケージにパッケージ化した後、直接実行できます。

まず、Windows環境でのパッケージ展開を見てみましょう。

1. インストールとパッケージ化

2. プロジェクトのjarパッケージがターゲットディレクトリに存在するかどうかを確認します。

ここに画像の説明を挿入

3. プロジェクトのjarパッケージがすでに存在する場合は、それを直接実行できます(前述のように、springbootパッケージは直接実行できます)

ここに画像の説明を挿入

4. DOSコマンドボックスでjava -jarコマンドを使用する

java -jar springboot-nriat-common-demo-0.0.1-SNAPSHOT.jar 

ここに画像の説明を挿入

起動効果:

ここに画像の説明を挿入

ここに画像の説明を挿入

エラーなし、起動成功!

上記は、Windows システムでの SpringBoot パッケージの展開に関するものです。本題に入りましょう。

Linux システムにパッケージをデプロイするには、docker を使用します。

1. まず、dockerfile ファイルを準備する必要があります。ファイルの内容は次のとおりです。

# java:8 からベースイメージを指定します
# メンテナー情報 MAINTAINER lbl
# 匿名ボリューム VOLUME /tmp を定義する
#ファイルをコピーするか、名前を変更します。ADD springboot-nriat-common-demo-0.0.1-SNAPSHOT.jar app.jar
# 指定されたポートを許可する EXPOSE 8087
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

ファイル解析

ここに画像の説明を挿入

この構成ファイルについて説明します。

VOLUME は一時ファイル ディレクトリを /tmp として指定します。その結果、ホストの /var/lib/docker ディレクトリに一時ファイルが作成され、コンテナの /tmp にリンクされます。この手順はオプションですが、アプリケーションにファイル システムが含まれる場合は必須です。 Spring Boot が使用する組み込み Tomcat コンテナはデフォルトで /tmp を作業ディレクトリとして使用するため、/tmp ディレクトリは Docker データ フォルダに保存するために使用されます。プロジェクトの jar ファイルは、"app.jar" としてコンテナに追加されます。
ENTRYPOINT プロジェクト app.jar を実行します。 Tomcatの起動時間を短縮するには、エントロピーソースとして「/dev/./urandom」を指すシステムプロパティを追加します。

初めてパッケージ化する場合は、ベースイメージとして Java 8 イメージが自動的にダウンロードされ、今後イメージを作成するときに再度ダウンロードされることはありません。

2. dockerfileファイルとspringbootプロジェクトのjarパッケージを同じフォルダに置きます。

ここに画像の説明を挿入

3. 次に画像の作成を開始します

docker build -t springboot-docker 。

docker imagesを使用してイメージが生成されたかどうかを確認する

Docker イメージ

ここに画像の説明を挿入

5. Springbootプロジェクトを設定し、コンテナを起動する

docker run -d -p 8087:8087 8493c1f0592c

-dパラメータはコンテナをバックグラウンドで実行することを許可する
-p はポート マッピング用です。この場合、サーバーのポート 8080 はコンテナーのポート 8087 にマッピングされます (プロジェクトで設定されているポートは 8087 です)。ポートは、images イメージの IMAGE ID を使用します。

6. 最後に、 docker ps -aを使用して、起動されているかどうかを確認します。

ドッカーps -a 

ここに画像の説明を挿入

起動成功しました! !

これで、docker を使用して Linux 環境に springboot パッケージをデプロイする方法についての説明は終わりです。docker を使用した springboot パッケージのデプロイの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Springboot マルチモジュール マルチ環境設定ファイルの問題 (本番環境と開発環境の動的設定)
  • IntelliJ IDEA で SpringBoot ベースの SSM 開発環境を構築するための詳細な手順
  • SpringBoot環境設定の知識のまとめ
  • Tomcat を使用して Centos 環境に SpringBoot WAR パッケージをデプロイする
  • springboot yml でのプロファイルの賢い使用 (初心者向けのマルチ環境構成)
  • SpringBoot+docker環境変数設定の詳しい説明
  • Springboot Selenium Web ページ ファイルをイメージ環境に構築するための詳細なチュートリアル
  • Springbootのマルチ環境切り替え方法
  • SpringBoot 環境の構築と初めてのプログラム実行(初心者向けチュートリアル)
  • Matplotlib 視覚化カスタムカラーで美しい統計グラフを描画

<<:  Vue は Echarts をインポートして折れ線グラフを実現します

>>:  40以上の美しいWebフォームデザイン例

推薦する

Spring Boot Docker パッケージング ツールの概要

目次スプリングブートDocker spring-boot-maven-プラグインSpotify Ma...

Nginx アクセス ログとエラー ログ パラメータの説明

例: nginx ログには、アクセス ログとエラー ログの 2 つの主な種類があります。アクセス ロ...

vue cli で env を使用するガイド

目次序文紹介-公式設定例序文vueCli を使用してプロジェクトを開発したことのある方は、少しがっか...

MySQL デュアルマシン ホットスタンバイ実装ソリューション [テスト可能]

目次1. コンセプト2. 環境の説明3. マスタースレーブホットスタンバイ実装1. コンセプト1. ...

ウェブページ読み込み時に左右にジャンプする原因の分析と解決

最近、ウェブサイトを設計するときにこの問題に遭遇しています。メンバーセンターを設計し、コンテンツを ...

初心者向けウェブサイト構築チュートリアルの概要

これら 6 つの記事を書いた後、私は少し混乱し始めました。次にどこに書けばいいのか分かりません。ドメ...

Vue-router は現在の場所 (/path) へのナビゲーションを許可しません。エラーの原因と修正

目次エラーメッセージ原因エラーのデモンストレーション回避策方法1方法2方法3エラーメッセージ現在の場...

SQL と MySQL のステートメント実行順序の分析

今日、問題が発生しました: MySQL の insert into、update、delete ステ...

Nginx と GeoIP モジュールを使用して IP の地域情報を読み取る方法

LinuxにGeoIPをインストールする yum で nginx-module-geoip をインス...

Nginx 仮想ホストの詳細な分析

目次1. 仮想ホスト1.1 仮想ホストの概念1.2 仮想ホストタイプ2. IP仮想ホストに基づく2....

MySQL パーティションテーブルのベストプラクティスガイド

序文:パーティショニングはテーブル設計パターンです。一般的に、テーブル パーティショニングとは、条件...

jQueryのチェーンプログラミングスタイルの詳細な例

チェーンプログラミングの実装原理jQuery を使用すると、開発者は常にドット構文を使用して独自のメ...

HTML埋め込みタグの使用方法と属性の詳細な説明

1. 基本的な文法コードをコピーコードは次のとおりです。埋め込み src=url注: 埋め込みはさま...

Dockerコンテナにvimコマンドがない問題を解決する方法

問題を見つける今日、Docker コンテナ内のファイルを変更しようとしたところ、コンテナ内に vim...

MySQL サービス 1067 エラーの解決策: mysql 実行可能ファイルのパスを変更する

今日、MySQLサービス1067エラー問題に遭遇しました。システムアカウントを使用するように設定して...