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を使用してスライダーをドラッグする効果を実現します
これで、autocomplete と呼ばれる input の属性を使用できるようになりました。オート...
この記事では、例を使用して、MySQL トリガーの概要、トリガーの作成方法、およびトリガーの使用上の...
htmlのデフォルトの送信方法は、postではなくgetです。postに変更したい場合は、 meth...
目次1. 同期の原理2. ログスタッシュ入力JDBC 3. go-mysql-elasticsear...
テーブルを作成テーブルテーブル名を作成create table if not exists 表名 m...
<br />表の境界線の CSS 構文具体的な内容には、上境界線の幅、右境界線の幅、下境...
この記事では、3Dカルーセル効果をjsで実装するための具体的なコードを参考までに共有します。具体的な...
目次js の1. グローバルガードを登録する2. Vuex 状態管理グローバルキャッシュルート3. ...
あるウェブサイトでは、ユーザーが WebKit カーネルでページを開くことを期待して、HTML5 と...
mongoイメージを取得する sudo docker pull mongo mongodbサービスを...
序文以前、rem適応についての記事を書きましたが、具体的なパッケージは紹介しませんでした。今日は、よ...
ネイティブJSを使用して9つの正方形のグリッドを記述し、9つのグリッドの位置をドラッグして変更する効...
目次1. リテラル1.1 数値リテラル1.2 浮動小数点リテラル1.3 特別な値1.4 文字列リテラ...
前回の記事に引き続き、web02 サーバーを作成し、web01 サーバーと web02 サーバーの ...
目次1. JavaScript とは何ですか? 2. JavaScript は何に使用されますか? ...