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フォームデザイン例

推薦する

JavaScript ではおそらく switch 文を使う必要はない

目次スイッチも複雑なコードブロックもありませんPythonからのインスピレーション辞書を使用してスイ...

マウスのドラッグ効果を実現するJavaScript

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

シンプルなカルーセル効果を実現するネイティブ js

この記事では、シンプルなカルーセル効果を実現するためのjsの具体的なコードを参考までに紹介します。具...

MySQL データをエクスポートする際の secure-file-priv 問題の解決方法

エラー 1290 (HY000) : MySQL サーバーは –secure-file-priv オ...

ウェブデザインにおける階層化インターフェースの設計経験

多くのネットユーザーは、なぜ自分のウェブサイトはいつも色の問題を抱えていて、いつも地味に見え、注目を...

キャンバスでPS消しゴムスクラッチカードの効果を実現するためのJSの使用方法の詳細な説明

目次効果のデモンストレーション:メインJSコード実装 <div class="box...

背景画像のみを180度回転させるCSS3実装例

1. 心の旅最近コックピットを書いていたときに、背景画像を単純に特定の角度に回転させるという問題につ...

JavaScript で 2 次元配列を作成するためのヒント

Js での 2 次元配列の作成:まず、JavaScript は 1 次元配列のみをサポートしています...

ReactのsetStateがマクロタスクなのかマイクロタスクなのかについて詳しく話しましょう

目次序文面接官は適切な質問をしていますか? § React は setState をどのように制御し...

CentOS7 で jar アプリケーションの起動を設定する方法

プロジェクトの展開中に遭遇した落とし穴Zhihudemo を展開する際、Jenkins などの自動展...

auto.jsを使用して毎日の自動チェックイン機能を実現する

auto.js を使用して毎日のチェックインを自動化する感染症のせいで、毎日時間通りに家に帰らなけれ...

Tomcatでcatalina.batがUTF-8に設定されている場合、コンソールに文字化けした文字が表示されます

1. catalina.bat は UTF-8 に設定する必要があります。UTF-8 に設定しないと...

MySQLインデックスの失敗の典型的なケース

目次典型的なケース付録: 一般的なインデックス障害の状況典型的なケース次の構造を持つ 2 つのテーブ...

MySQL mysqldump の使い方の詳しい説明

1. mysqldump の紹介mysqldump は、MySQL に付属する論理バックアップ ツー...

DockerにNginxをインストールする方法

DockerにNginxをインストールするNginx は、IMAP/POP3/SMTP サービスも提...