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を使用してスライダーをドラッグする効果を実現します
私は最近、ユーザー操作を元に戻す、またはやり直す機能を備えたビジュアル操作プラットフォームを開発して...
最近、仕事で問題に遭遇しました。グローバル変数 red_heart があります。これは多くの場所で使...
1.dockerをオンラインでダウンロードする yum インストール -y epel-release...
コードは次のようになります。 <!DOCTYPE html> <html lang...
1. 足場とは何ですか? 1. Vue CLI Vue CLI は、Vue.js をベースにした迅速...
メモリリークとは何ですか?メモリ リークとは、新しいメモリが作成されたが、解放またはガベージ コレ...
border-radius:10px; /* すべての角は半径 10px で丸められます*/ bor...
Docker に TensorFlow 環境をすばやくインストールし、TensorFlow を使用し...
1. Docker psはコンテナをリストします 2. Docker cpはコンテナにファイルをコピ...
この記事では、WeChatアプレットの9マスグリッド効果を実現するための具体的なコードを参考までに紹...
レンダリング サンプルコード今日は、WeChat アプレットを使用して 2048 ゲームを実装します...
1. 公式紹介grep は Linux でよく使用されるコマンドです。これは、ファイルやテキストに対...
目次使いやすいプロジェクトを作成するvue-cli 作成ヴィートクリエイションvue-routerを...
目次1. 縦方向のスライス1.1 垂直データベース1.2 垂直テーブル分割2. 水平(横断)セグメン...
Win10 のインストール (すでにインストールされている場合はスキップしてください) win10...