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

推薦する

TLS暗号化通信を使用してDockerにリモート接続する詳細な例

デフォルトでは、Docker はネットワーク化されていない UNIX ソケット上で実行されます。オプ...

nginx リバース プロキシの魔法のスラッシュについての簡単な説明

nginx リバース プロキシを設定する場合、location と proxy_pass のスラッシ...

QQtabBar による CSS 命名仕様 BEM の詳細な紹介

QQtabBar の BEMまず、BEMとはどういう意味でしょうか? BEM は、ブロック、要素、修...

仕事でよく使うLinuxコマンドまとめ

仕事では、docker や kubernetes などのオープンソース ツールをさらに活用しましょう...

CSS 線形グラデーション凹型長方形遷移効果の実装

この記事では、線形グラデーションの凹四角形の遷移効果の難しさやアイデアについて説明します。主に、凹四...

MySQLトリガーの例の詳細な説明

目次トリガーとは何かトリガーを作成する複数の実行ステートメントを持つトリガーの作成制限と考慮事項要約...

js は丸で囲まれた数字のリストのサンプルコードを動的に追加します

1. まず本文にulタグを追加します <!-- 順序なしリスト --> <ul i...

Linux システムでの Selenium クローラー プログラムの導入の概要

目次序文1. セレンとは何ですか? 2. 使用手順1. ライブラリをインポートする2. テストコード...

Mysql通信プロトコルの詳細な説明

1.Mysql接続方法MySQL 通信プロトコルを理解するには、まず MySQL サーバーへの接続に...

MySQL の選択、挿入、更新バッチ操作ステートメントのコード例

プロジェクトでは、データを操作するためにバッチ操作ステートメントが必要になることがよくあります。バッ...

jsはウォーターフォールフローのボトムアウトによるデータの動的ロードを実現します

この記事では、ウォーターフォールフローが底に達したときにデータを動的にロードするためのjsの具体的な...

Facebook によるインターネット サービスのほぼ完璧な再設計

<br />出典: http://www.a-xuan.cn/?p=197 先ほどFac...

Vueタイマーの実装方法

この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

MySQL 5.7.17 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

インターネット上にはMySQL 5.7.17のインストールチュートリアルがほとんどなく不十分なので、...

DOCTYPE要素詳細説明完全版

1. 概要この記事では、DOCTYPE要素を体系的に説明します。同時に、多くの情報を調べました。イン...