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

推薦する

Webフロントエンド開発エンジニアが習得すべきコアスキル

Web フロントエンド開発に含まれる内容は、主に W3C 標準の構造、動作、パフォーマンスです。では...

HTMLウェブページのMETAタグのコンテンツを書く際のポイント

META タグは、HTML 言語のヘッダー領域にある補助タグです。作成者、日時、Web ページの説明...

MySQL への接続時に発生する 1449 および 1045 例外の解決方法

MySQL への接続時に発生する 1449 および 1045 例外の解決方法 mysql 1449:...

Nginx でバージョン番号を隠す方法

Nginx はバージョン番号を非表示にする実稼働環境では、セキュリティ上の脆弱性の漏洩を避けるために...

mysql.data.dll ドライバーのさまざまなバージョンの簡単な分析

ここにmysqlドライバmysql.data.dllがあります知らせ:ここではX86バージョンが多く...

Dockerイメージのローカル移行の実装

最近 Docker を勉強しているのですが、よく問題に遭遇します。Docker イメージをダウンロー...

MySQLの日付と時刻の間隔計算の分析例

この記事では、例を使用して、MySQL の日付と時刻の間隔計算について説明します。ご参考までに、詳細...

Vue+ElementUI で超大規模なフォーム例を処理する方法

最近、社内の業務調整により、以前の超長文のロジックが大幅に変更されたため、リファクタリングする予定で...

Tomcat コアコンポーネントとアプリケーションアーキテクチャの詳細な説明

目次Web コンテナとは何ですか? HTTP の性質HTTP リクエスト応答の例クッキーとセッション...

Baota Linux パネル コマンド リスト

目次Pagodaをインストールする管理塔Nginx サービス管理Apache サービス管理MySQL...

Ubuntu での MySQL へのリモート ログインのインストールと設定に関するチュートリアル

この記事では、MySQLのインストールと設定のリモートログインチュートリアルを参考までに紹介します。...

さまざまな種類のMySQLインデックス

インデックスとは何ですか?インデックスは、データベース ストレージ エンジンが指定されたデータをすば...

docker compose の使い方の詳しい説明

目次Docker Compose の使用シナリオ基本的なデモ基本的な操作とメンテナンスdocker-...

nginx+FastDFS を使ってファイル管理システムを段階的に構築する

目次1. FastDFS の概要1. はじめに2. FastDFSストレージ戦略3. FastDFS...

JS でオブジェクトが空オブジェクトかどうかを判断する 5 つの方法

1. jsonオブジェクトをjson文字列に変換し、文字列が「{}」であるかどうかを判断します。 v...