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

推薦する

小さなページングデザイン

ユーザーが目的のものを探すために前進するか後退するかを選択できるようにします。たとえば、Taobao...

VUEはG2チャートを使用した実装を導入します

目次G2チャートについて使用テンプレートで使用される完全なコード (棒グラフ)世界地図を追加するG2...

MySQL をインストールした後に調整する必要がある 10 のパフォーマンス設定項目

このブログでは、MySQL データベースをインストールした後に調整することが推奨される 10 のパフ...

Vue はフォームデータ検証のサンプルコードを実装します

el-form フォームにルールを追加します。データにルールを定義する定義されたルールをel-for...

Linux サーバーは最大いくつのポートを開くことができますか?

目次ポート関連の概念:ポートとサービスの関係1: nmapツールが開いているポートを検出する2: n...

Linux は、Deepin がルートユーザーとして Google Chrome ブラウザを起動できない問題を解決します

Deepin がルートユーザーとして Google Chrome ブラウザを起動できない問題を解決す...

Vue グローバル フィルターの概念、注意事項、基本的な使用方法

目次1. フィルターの概念1. グローバルフィルターのフォーマットをカスタマイズする2. フィルター...

MySQL 8.x msi バージョンのインストール チュートリアル (画像とテキスト付き)

1. MySQLをダウンロードする公式サイトのダウンロードアドレス https://dev.mys...

Dockerイメージをプライベートリポジトリにアップロードする方法の例

イメージは、GitHub と同様に Docker パブリック リポジトリに直接簡単にプッシュできます...

Tomcat ディレクトリ構造の詳細な紹介

tomcat の解凍されたディレクトリを開くと、次のディレクトリ構造が表示されます。 1.Tomca...

Vue のミックスインの使用方法の詳細な説明

目次序文1. Mixin とは何ですか? 2. Mixin はいつ使用すればよいですか? 3. Mi...

MySQL 同期遅延が発生したときに Seconds_Behind_Master が 0 のままになる理由

目次問題の説明原理分析問題分析拡大する総括する問題の説明ユーザーはプライマリ データベースに対して変...

Portainer を使用して Docker のビジュアル インターフェースを構築する方法

ポーテナーの紹介Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な...

Linuxのファイルとフォルダの権限を操作する方法

Linux のファイル権限まず、現在のディレクトリ内のファイルの内容を確認しましょう。 ls -l ...

nginx + セカンダリドメイン名 + https サポートを使用する

ステップ1: Alibaba Cloudプライマリドメイン名にセカンダリドメイン名を追加する2 番目...