Idea で Docker を使用して SpringBoot プロジェクトをデプロイする詳細な手順

Idea で Docker を使用して SpringBoot プロジェクトをデプロイする詳細な手順

序文

プロジェクト要件:

Dockeridea に Docker プラグインをインストールし、Docker を設定して SpringBoot プロジェクト用の Dockerfile を作成します。

1. Dockerをダウンロード、インストール、設定する

ダウンロードアドレス: 公式サイトからDockerをダウンロード

インストール

次のステップに進み続ける

設定パス: 設定 - 一般Expose daemon on tcp://localhost:2375 without TLSチェック

ここに画像の説明を挿入

ミラーをダウンロードする速度を上げるためにミラーを設定しますhttps://xaiqlt1z.mirror.aliyuncs.com

ここに画像の説明を挿入

インストールが成功したかどうかをテストする

C:\Users\msi>docker -v
Docker バージョン 19.03.12、ビルド 48a66213fe

C:\Users\msi>docker 実行 hello-world

Dockerからこんにちは!
このメッセージは、インストールが正常に動作していることを示しています。

このメッセージを生成するために、Docker は次の手順を実行します。
 1. Docker クライアントが Docker デーモンに接続しました。
 2. Docker デーモンは Docker Hub から「hello-world」イメージを取得しました。
  (amd64)
 3. Dockerデーモンは、そのイメージから新しいコンテナを作成し、
  現在読んでいる出力を生成する実行可能ファイル。
 4. Dockerデーモンはその出力をDockerクライアントにストリーミングし、Dockerクライアントはそれを
  端末に。

もっと野心的なことに挑戦するには、次のコマンドで Ubuntu コンテナを実行できます。
 $ docker run -it ubuntu bash

無料の Docker ID を使用して、イメージを共有したり、ワークフローを自動化したりすることができます。
 参考:

その他の例やアイデアについては、以下をご覧ください。
 詳しくはこちら

2. アイデア Dockerプラグインをインストールする

1. idea: file--Plugins--Marketplace Search Docker Installation に Docker プラグインをインストールします。

ここに画像の説明を挿入

2. Dockerサービスを構成する

ファイル – dockerを検索 – Dockerを選択 – 右側にDockerを追加
「接続成功」と表示され、Docker接続が成功したことを示します。

ここに画像の説明を挿入

3. SpringBootプロジェクトを作成し、pom.xmlspringMVCプロジェクトを変更し、localhost:8080/helloにアクセスしてhello文字列を表示します。

@RequestMapping("/hello")
  @レスポンス本文
  パブリック文字列hello(){
    「hello」を返します。
  }

1. pom.xmlファイルを構成する

<ビルド>
    <プラグイン>
      <プラグイン>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <処刑>
          <実行>
            <目標>
              <goal>再パッケージ化</goal>
            </目標>
          </実行>
        </処刑>
      </プラグイン>
      <プラグイン>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <バージョン>1.2.1</バージョン>
        <処刑>
          <実行>
            <id>ビルドイメージ</id>
            <phase>パッケージ</phase>
            <目標>
              <goal>ビルド</goal>
            </目標>
          </実行>
        </処刑>
        <構成>
          <画像名>${プロジェクト.アーティファクトID}</画像名>
          <画像タグ>
            <imageTag>最新</imageTag>
          </画像タグ>
          <dockerディレクトリ>${project.basedir}</dockerディレクトリ>
          <dockerHost>http://localhost:2375</dockerHost>
          <リソース>
            <リソース>
              <ターゲットパス>/</ターゲットパス>
              <ディレクトリ>${project.build.directory}</ディレクトリ>
              <include>${project.build.finalName}</include>
            </リソース>
          </リソース>
        </構成>
      </プラグイン>
    </プラグイン>
  </ビルド>

2. Dockerファイルを作成する

メインフォルダーの下に docker フォルダーを作成し、その中に Dockerfile ファイルを作成します。 xxxxx.jar は、Maven を使用してパッケージ化された後にコピーされます。

ここに画像の説明を挿入

Dockerfile ファイルの内容:

# Java イメージから、バージョン: 8
java:8より

# アプリディレクトリをマウントする VOLUME /app

# 画像にコピーまたは追加
demo-0.0.1-SNAPSHOT.jar app.jar をコピー

bash -c "touch /app.jar" を実行します。
エクスポーズ8080
エントリポイント ["java", "-jar", "app.jar"]

Maven は、ターゲット ディレクトリ内の jar パッケージをパッケージ化し、docker ディレクトリにコピーします。

Dockerfile構成を構成する

ここに画像の説明を挿入

走る

ここに画像の説明を挿入

正常に実行されました

ここに画像の説明を挿入

テスト

docker を使用して、コンテナが起動しているかどうかを確認します。

ここに画像の説明を挿入

プロジェクトが開始されたかどうかをテストします。

ここに画像の説明を挿入

要約する

今日はDockerコンテナについて学びました。基本的なコマンドは学びましたが、まだ使い方がわかりません。この機会を利用して学習に時間を費やしてください。現時点では使い方がわかっているだけなので、詳しい手順は後ほど追記します。

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

以下もご興味があるかもしれません:
  • IDEA が docker を統合して springboot プロジェクトを展開するプロセス全体
  • IDEA2021.2 で docker を設定して、Springboot プロジェクトをイメージ化し、ワンクリックでリリースする方法
  • IDEA の Docker プラグインを介して Springboot プロジェクトを公開する方法の詳細なチュートリアル
  • アイデアに基づいてSpringbootプロジェクトをDockerにデプロイする
  • IDEA の Docker プラグインを介して SpringBoot プロジェクトをデプロイするプロセスの詳細な説明

<<:  Typescript+React でモバイルと PC でシンプルなドラッグ アンド ドロップ効果を実現

>>:  MySQL インデックスが失敗するいくつかの状況の概要

推薦する

MySQL マスター/スレーブ ステータスを監視するシェル スクリプト

Linuxでシェルスクリプトを共有して、MySQLのマスタースレーブ状態を監視し、エンタープライズW...

HTML文書におけるol要素の数値制限に関する議論

一般的に言えば、HTML ドキュメント内で極端に大きな <ol> リストに遭遇する可能性...

Vue でスロットを使用する方法についての簡単な説明

定義と使用方法:コンポーネントのテンプレートでスロットタグの定義を使用します。デフォルトの表示値は、...

Linux zabbix エージェントの展開と設定方法の詳細な説明

1. web01にzabbix-agentをインストールするZabbix ウェアハウスをデプロイする...

MySQLでMyISAMストレージエンジンをInnodbに変更した操作記録のまとめ

一般的に、MySQL はデフォルトでさまざまなストレージ エンジンを提供しており、次のように表示され...

MySQL InnoDB トランザクション ロック ソースコード分析

目次1. ロックとラッチ2. 繰り返し読み取り3. インサートロックプロセス3.1 ロックモード3....

Mac 向け MySQL 5.7.17 のインストールと設定のチュートリアル

1. MySQLをダウンロードする公式サイトのダウンロードページをクリックすると次のページに入ります...

ブラウザのURLの前に小さなアイコンを表示する方法

多くのウェブサイトを閲覧すると、ブラウザのアドレスバーの前に小さなアイコンがあり、ブラウザのタブの位...

CSS3 フィルター (フィルタ) ウェブページのグレーまたは黒モードのサンプルコードを実現

フロントエンドcss3 フィルターは、Web ページのグレー効果を実現できるだけでなく、ナイト モー...

HTMLテキストオーバーフローの2つの一般的な解決策は省略記号を表示することです

方法1: CSSオーバーフロー省略を使用して解決する解決策は次のとおりです。 CSSコード: ディス...

Mac インストール mysqlclient プロセス分析

仮想環境で pip 経由でインストールしてみてください: pip で mysqlclient をイン...

MySQL で遅い SQL 文を見つける方法

MySQL で遅い SQL ステートメントを見つけるにはどうすればよいでしょうか?これは、多くの人を...

IMG での UserMap の使用例

usemap は <img> タグの属性であり、使用するイメージ マップの名前を指定する...

Linux でネットワーク パケット損失と遅延をシミュレートする方法

netem と tc: netem は、Linux カーネル バージョン 2.6 以降で提供されるネ...

docker version es、milvus、minio 起動コマンドの詳細な説明

1. es起動コマンド: docker run -itd -e TAKE_FILE_OWNERSHI...