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 インデックスが失敗するいくつかの状況の概要

推薦する

複数クリックを防ぐVueの実践

通常、クリック イベントは、メッセージ リマインダーのさまざまな状況に分割されます。これらが処理され...

Navicat が MySql サーバーにリモート接続できない問題の解決策

Navicat が MySql サーバーにリモート接続できない問題の解決策は、先頭に書かれています:...

Easyswoole ワンクリック インストール スクリプトとパゴダ インストール エラー

よくある質問easyswoole を初めて使用する場合は、次のような問題に遭遇することがよくあります...

Windows での MySQL5 グリーン バージョンのインストールの概要 (推奨)

1 MySQLをダウンロードするダウンロードアドレス: http://downloads.mysq...

Linux クラウド サーバーに新しいディスクをマウントする方法

背景社内に新しいサーバーが追加され、2Tのハードディスクがマウントされました。sshでログイン後、マ...

VMware+centOS 8 で http プロトコルに基づく Git サービスを構築する方法

目次1. 原因2. デバイス情報3. 準備4. Apacheをインストールする5. gitを設定する...

Vueインスタンスで$refsを使用する際の注意点

開発の過程では、インスタンスの vm.$refs(this.$refs) を使用して、ref で登録...

Mac OS10.12 に mysql5.7.18 をインストールするチュートリアル

ウェブ全体を検索して、さまざまな落とし穴を見つけましたが、問題は解決しませんでした。ついに自分でも分...

Linux仮想メモリについての簡単な説明

目次起源仮想メモリページングとページテーブルメモリのアドレス指定と割り当て関数プロセスメモリ管理デー...

React プロジェクトで eslint の Baidu スタイルを使用する詳細な説明

1. Baidu Eslint Ruleプラグインをインストールする npm i -D eslint...

docker に nacos をインストールしてデータベースを構成する詳細なチュートリアル

環境の準備 Docker環境 MySQL 5.7 (公式イメージはmysql8をサポートしていません...

MySQL における between の境界と範囲の説明

境界範囲間のmysql間の範囲は両側の境界値を含む例: 3 から 7 までの id は、id >...

MySQL テーブル自動増分 ID オーバーフロー障害レビュー ソリューション

問題: MySQLテーブル内の自動増分IDのオーバーフローによりビジネスブロックが発生した背景: t...

Vue 天気予報入門

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