Idea は Java 開発のための強力なツールであり、SpringBoot は Java エコシステムで最も人気のあるマイクロサービス フレームワークであり、Docker は現在最も注目されているコンテナー テクノロジーです。これらを組み合わせると、どのような化学反応が起こるのでしょうか。 1. 開発前の準備1. Dockerのインストールについては、https://docs.docker.com/install/を参照してください。 2. Dockerリモート接続ポートを設定する : : vi /usr/lib/systemd/system/docker.service を実行します。 下の図に示すように、ExecStartを見つけて、最後に-H tcp://0.0.0.0:2375を追加します。 3. Dockerを再起動する systemctlデーモンリロード systemctl dockerを再起動します 4. ポートを開く ファイアウォールコマンド --zone=public --add-port=2375/tcp --permanent 5.Ideaはdockerプラグインをインストールして再起動します 6. リモートDockerに接続する (1)設定を編集する (2)リモートDockerアドレスを入力する (3)接続が成功すると、リモートDockerコンテナとイメージが一覧表示されます。 2. 新しいプロジェクトSpringbootプロジェクトを作成する プロジェクト構造図 (1)pomファイルを設定する <?xml バージョン="1.0" エンコーディング="UTF-8"?> <プロジェクト xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <モデルバージョン>4.0.0</モデルバージョン> <親> <groupId>com.fengqi</groupId> <artifactId>dockerデモ</artifactId> <バージョン>1.0.0</バージョン> <relativePath>../pom.xml</relativePath> <!-- リポジトリから親を検索 --> </親> <groupId>com.fengqi</groupId> <artifactId>ウェブ</artifactId> <バージョン>1.0.0</バージョン> <name>ウェブ</name> <description>Spring Boot のデモ プロジェクト</description> <依存関係> <依存関係> <groupId>org.springframework.boot</groupId> <artifactId>スプリングブートスターター</artifactId> </依存関係> <依存関係> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>テスト</scope> </依存関係> <依存関係> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </依存関係> <依存関係> <グループID>log4j</グループID> <アーティファクトID>log4j</アーティファクトID> <バージョン>1.2.17</バージョン> </依存関係> </依存関係> <ビルド> <プラグイン> <プラグイン> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </プラグイン> <プラグイン> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <バージョン>1.0.0</バージョン> <構成> <dockerディレクトリ>src/main/docker</dockerディレクトリ> <リソース> <リソース> <ターゲットパス>/</ターゲットパス> <ディレクトリ>${project.build.directory}</ディレクトリ> <include>${project.build.finalName}.jar</include> </リソース> </リソース> </構成> </プラグイン> <プラグイン> <artifactId>maven-antrun-plugin</artifactId> <処刑> <実行> <phase>パッケージ</phase> <構成> <タスク> <コピー todir="src/main/docker" ファイル="target/${project.artifactId}-${project.version}.${project.packaging}"></コピー> </タスク> </構成> <目標> <goal>実行する</goal> </目標> </実行> </処刑> </プラグイン> </プラグイン> </ビルド> (2)src/mainディレクトリにdockerディレクトリを作成し、Dockerfileファイルを作成する openjdk:8-jdk-alpine から *.jar app.jar を追加します ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] (3)リソースディレクトリにapplication.propertiesファイルを作成する ログ記録.config = クラスパス:logback.xml ログのパス=/home/developer/app/logs/ サーバーポート=8990 (4)DockerApplicationファイルを作成する @SpringBootアプリケーション パブリッククラスDockerApplication { パブリック静的voidメイン(String[] args) { SpringApplication.run(DockerApplication.class、引数); } } (5)DockerControllerファイルを作成する @レストコントローラ パブリッククラスDockerController { 静的ログ log = LogFactory.getLog(DockerController.class); @リクエストマッピング("/") パブリック文字列インデックス(){ log.info("こんにちはDocker!"); 「Hello Docker!」を返します。 } } (6)設定を追加する コマンドの説明 イメージタグ: イメージ名とタグを指定します。イメージ名は docker-demo、タグは 1.1 です。 ポートのバインド: ホスト ポートをコンテナーの内部ポートにバインドします。形式は[ホストポート]:[コンテナ内部ポート]です。 バインドマウント: ホストディレクトリをコンテナの内部ディレクトリにマウントします。形式は[ホストディレクトリ]:[コンテナ内部ディレクトリ]です。 この springboot プロジェクトは、コンテナの /home/developer/app/logs/ ディレクトリにログを出力します。ホスト ディレクトリをコンテナの内部ディレクトリにマウントすると、ログはコンテナ外のホスト ディレクトリに保存されます。 (7) Mavenパッケージング (8)走る ここで、イメージ名はdocker-demo:1.1で、dockerコンテナはdocker-serverであることがわかります。 (9)成功した手術 (10)ブラウザアクセス (11) ログ表示 それ以来、Springboot プロジェクトはアイデアを通じて Docker に正常にデプロイされました。 Java Web プロジェクトのデプロイがこんなに簡単で便利だなんて想像もつきません! 最後に、関連する学習チュートリアルを皆さんと共有したいと思います。 https://www.bilibili.com/video/BV14t411z77T IDEAチュートリアル https://www.bilibili.com/video/BV1PZ4y1j7QK Java 開発の生産性を 10 倍に向上させる Docker meets Intellij IDEA に関するこの記事はこれで終わりです。Docker meets IDEA に関するその他の関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL のデータ削除とデータ テーブル メソッドの例
>>: jsを使用してスライダーをドラッグする効果を実現します
1 背景最近、Shimo Document のオンライン ビジネスでパフォーマンスの問題が発生しまし...
目次序文1. Mixin とは何ですか? 2. Mixin はいつ使用すればよいですか? 3. Mi...
目次1. MySQLインデックスの紹介2. MySQLの5種類のインデックスの詳しい説明1. 総合索...
CSS レイアウトを使用して WEB 標準に準拠した Web ページを作成することは、jb51.ne...
目次1. 一括更新の方法コンソール出力2. フックがルーティングパラメータを取得する方法実行効果1....
目次1. イベントとは何ですか? 2. イベントの使い方3. バインドタップとキャッチタップの違い4...
1. CLionをダウンロード、インストール、アクティベートするオンラインで提供されるチュートリアル...
docker アタッチコマンドdocker attach [options] 容器実行中のコンテナに...
目次1. JS オブジェクトDOM –1、機能–2、テスト3. jQuery –1. 概要–2、使用...
Linux での動的ライブラリ ファイルのファイル名は libxxx.so のようになります。ここで...
1. Linuxファイアウォールの基礎Linux ファイアウォール システムは主にネットワーク層で動...
目次1. はじめに2. インストール3. 使用4. vueファイルの使用1. はじめに最近、手書き入...
以下の情報はインターネットから収集したものです1. アンカーは、Web ページ作成におけるハイパーリ...
まずディレクトリを作成する cd /etc/nginx mkdir ssl cd ssl CA と自...
序文MySQLでは、準備、実行、割り当て解除を正式にはPREPARE STATEMENTと呼びます。...