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. フォントのプロパティcolorは、div{color:red;}のようにテキストの色を指定しま...
Linux はますます多くのユーザーに愛されてきました。なぜ Linux はこれほど急速に発展し、い...
Flash ファイル形式: .FLV および .SWFフラッシュ ビデオ形式には、.flv と .s...
目次Vue3 カプセル化メッセージプロンプトインスタンス関数スタイルレイアウトカプセル化メッセージ....
「downloadlaod」を直接クリックしてもダウンロードできない場合は、ここからダウンロードす...
効果画像: html: <div class='site_bar'>ホー...
inode番号でファイルを削除するまずls -iを使用して、削除するファイルのinode番号を見つけ...
li はブロックレベル要素であり、デフォルトで 1 行を占めるため、水平方向の配置を実現する場合は、...
PS: ここではPHPStudy2016を使用しています1. 変更中にMySQLを停止する2. my...
この記事では、シンプルなショッピングカートを実装するためのJavaScriptの具体的なコードを参考...
この記事では、例を使用して MySQL ストアド プロシージャのエラー処理について説明します。ご参考...
目次react-beautiful-dndを選ぶ理由基本的な使い方基本概念使い方使用中に発生した問題...
この記事では、USBバーコードスキャナデータを取得するjsの具体的なプロセスを参考までに紹介します。...