現在、ほとんどのプロジェクトが Docker 上にデプロイされ始めていますが、デプロイのプロセスはまだ少し面倒なので、この記事では、IDEA を使用してワンクリックでデプロイする方法を説明したいと思います。 Dockerの設定 設定ファイルを変更する Docker 構成ファイルを開きます。 vim /usr/lib/systemd/system/docker.service 次の行をコメントアウトします。 # ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 新しい行を書いてください: 実行開始=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 設定ファイルを再ロードして起動します: systemctlデーモンリロード systemctl ドッカーを起動する 次の図に示すように: IDEA を使用した Docker の設定 Dockerプラグインをインストールする Docker情報を設定する 設定で Docker を構成するには、API URL を構成する必要があります。接続が成功すると、以下のように表示されます。 プロジェクト構築 新しいSpringbootプロジェクトを作成する IDEA を通じてプロジェクトを構築するには、何も選択する必要はなく、クリックし続けるだけです。 pomファイルを変更する 最も重要な2つのポイントは次のとおりです。 1. プロパティタグを追加する <docker.image.prefix>デモ</docker.image.prefix> 2. 新しいプラグインタグを追加する <プラグイン> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <バージョン>1.2.1</バージョン> <構成> <イメージ名>${docker.image.prefix}/${project.artifactId}</イメージ名> <dockerディレクトリ></dockerディレクトリ> <リソース> <リソース> <ターゲットパス>/</ターゲットパス> <ディレクトリ>${project.build.directory}</ディレクトリ> <include>${project.build.finalName}.jar</include> </リソース> </リソース> </構成> </プラグイン> 完全な 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>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <バージョン>2.2.1.RELEASE</バージョン> <relativePath/> <!-- リポジトリから親を検索 --> </親> <グループID>com.example</グループID> <artifactId>デモ</artifactId> <バージョン>0.0.1</バージョン> <name>デモ</name> <description>Spring Boot のデモ プロジェクト</description> <プロパティ> <java.version>1.8</java.version> <docker.image.prefix>デモ</docker.image.prefix> </プロパティ> <依存関係> <依存関係> <groupId>org.springframework.boot</groupId> <artifactId>スプリングブートスターター</artifactId> </依存関係> <依存関係> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </依存関係> <依存関係> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>テスト</scope> <除外事項> <除外> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </除外> </除外> </依存関係> </依存関係> <ビルド> <プラグイン> <プラグイン> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </プラグイン> <プラグイン> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <バージョン>1.2.1</バージョン> <構成> <イメージ名>${docker.image.prefix}/${project.artifactId}</イメージ名> <dockerディレクトリ></dockerディレクトリ> <リソース> <リソース> <ターゲットパス>/</ターゲットパス> <ディレクトリ>${project.build.directory}</ディレクトリ> <include>${project.build.finalName}.jar</include> </リソース> </リソース> </構成> </プラグイン> </プラグイン> </ビルド> </プロジェクト> 新しいDockerfileを作成する ルートディレクトリに新しいDockerfileファイルを作成する必要があります #ベースイメージを指定してカスタマイズする FROM java:8 #メンテナー情報 メンテナー zhouzhaodong <[email protected]> #ここでの /tmp ディレクトリは実行時に匿名ボリュームとして自動的にマウントされ、/tmp に書き込まれた情報はコンテナストレージ層 VOLUME /tmp に記録されません。 #コンテキストディレクトリのtarget/demo-1.0.0.jarをコンテナにコピーします。COPY target/demo-0.0.1.jar demo-1.0.0.jar #bash モードで実行して、demo-1.0.0.jar にアクセスできるようにします。#RUN新しいレイヤーを作成し、そのレイヤーでこれらのコマンドを実行します。実行が完了したら、このレイヤーの変更をコミットして新しいイメージを形成します。 bash -c "touch /demo-1.0.0.jar" を実行します。 # ランタイム コンテナによって提供されるサービス ポートを宣言します。これは単なる宣言です。この宣言により、アプリケーションは実行時にこのポートのサービスを開きません。EXPOSE 8080 #コンテナの起動プログラムとパラメータを指定します <ENTRYPOINT> "<CMD>" エントリポイント ["java","-jar","demo-1.0.0.jar"] 新しいコントローラーファイルを作成する pom ファイルに Web 依存関係を追加することを忘れないでください。 @レストコントローラ パブリッククラスtestController{ @リクエストマッピング("/") パブリック文字列テスト(){ 「テストDocker」を返します。 } } Maven パッケージング パッケージをインストールします: jar パッケージを生成します: 新しい構成 新しい Dockerfile 実行構成を作成します。 次の情報を追加し、作成した Dockerfile ファイルを見つけて、ポート マッピングを構成します。 Dockerイメージを生成して実行する 新しく作成された Dockerfile 実行構成を実行するだけです。 操作が成功すると、ログ ウィンドウにプロジェクト操作情報が表示されます。 対応するアドレスにアクセスすると、入力した情報が表示されます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL でテーブルデータをクリアする 2 つの方法とその違い
序文バックエンド開発では、一度に大量のデータがロードされ、メモリやディスク IO のオーバーヘッドが...
序文最近、オンラインでデータが誤って操作されました。データベースが直接変更されたため、それを回復する...
定義と使用方法:コンポーネントのテンプレートでスロットタグの定義を使用します。デフォルトの表示値は、...
居住地を選択するためのドロップダウンボックスをjQueryで実装するための具体的なコードは参考までに...
目次1. WeChatパブリックプラットフォームからWeChat開発者ツールをダウンロードする2. ...
シナリオによっては、Linux サーバー (CentOS/RHEL) の同じイーサネット カード (...
導入MySQL には、SELECT ステートメントを分析し、開発者が最適化できるように SELECT...
この記事ではMySQL 5.7.16のインストールと設定方法を記録します。具体的な内容は以下のとおり...
環境説明サーバーシステム: Ubuntu 18.04 64ビットnginx: 1.14この記事では主...
PHPのメール関数を使用してメールを送信するmail()関数はメールサーバーに接続し、サーバーと対話...
<br />123WORDPRESS.COM の以前のチュートリアルでは、Web ページ...
以下の操作デモンストレーションはすべて MySQL バージョン 5.6.36 に基づいています。仕事...
定義と使用@media クエリを使用すると、さまざまなメディア タイプに異なるスタイルを定義できます...
この記事では、スキン変更効果を実現するためのJavaScriptの具体的なコードを参考までに紹介しま...
目次背景element-ui の自動構築はどのように機能しますか?メイクファイル新しい.jsファイル...