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

推薦する

Bash スクリプトを使用して Linux のメモリ使用量を監視する方法

序文Linux システムのパフォーマンスを監視するために使用できるオープンソースの監視ツールが市場に...

HTML独習の旅(I)基本要素と属性の練習(自分でコードを書く)

私は W3school のチュートリアルに従いました。チュートリアルはとても良いと思います。各セクシ...

Linux デバイス用ネットワーク ドライバーの紹介

有線ネットワーク: イーサネット 無線ネットワーク: 4G、WiFi、Bluetooth、5G 概要...

HTMLでカスタムタグを使用する方法

カスタム タグは XML ファイルと HTML ファイルで自由に使用できますが、いくつか注意すべき点...

Nginx サーバーが Systemd カスタム サービス プロセス分析を追加

1. nginxを例に挙げるyumコマンドを使用してNginxをインストールしましたSystemd ...

CentOS 環境で NFS リモート ディレクトリ マウントを使用する手順の紹介

目次1. NFS の概要2. NFS構築1. NFSサーバーの構築2. NFSクライアントの構築3....

Dockerデータストレージのバインドマウントの詳細な説明

この記事を読む前に、Volumes について予備知識を身に付けておいてください。詳細については、こち...

MySQL kill コマンドの使用ガイド

KILL [接続 | クエリ] processlist_id MySQL では、各接続は個別のスレ...

HTML ページに画像を挿入し、マップ インデックスを追加する方法の例

1. WEBでサポートされている画像形式: GIF: 256色を保存でき、透明色をサポートし、アニメ...

ドロップダウンボックス選択コンポーネントを実装するためのネイティブ js

この記事の例では、ドロップダウンボックス選択コンポーネントを実装するためのjsの具体的なコードを参考...

MySQL 8.0.22.0 のダウンロード、インストール、設定方法のグラフィックチュートリアル

MySQL 8.0.22のダウンロード、インストール、設定方法、参考までに具体的な内容は次のとおりで...

React Router で履歴リダイレクトを使用する方法

react-routerでは、コンポーネント内のジャンプは<Link>で使用できます。し...

docker+gitlab+gitlab-runnerの詳細なデプロイメント

環境サーバー: centos7クライアント: ウィンドウCentos7 に docker+gitla...

CentOS8でyumソースを変更した後にウェアハウスキャッシュの同期に失敗する問題の詳細な説明

問題の原因: 最初は CentOS 8 のデフォルトの yum ソースを正常に使用できますが、次のコ...

JSタイマーを使用して要素を移動する

JS タイマーを使用して、要素に移動する効果のあるメソッドを作成します。実装のアイデアは、まず要素の...