現在、ほとんどのプロジェクトが 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 つの方法とその違い
フロントエンドcss3 フィルターは、Web ページのグレー効果を実現できるだけでなく、ナイト モー...
RocketMQ は、Alibaba が設計した分散型のキューベースのメッセージング ミドルウェア...
目次1. 組み込みオブジェクトの紹介1.1 数学オブジェクト1.2 数学における方法1.3 日付オブ...
1. 準備1.1 VMware 15 をダウンロードしてインストールするダウンロード リンク: h...
目次1. クラス1.1 コンストラクタ() 1.2 ゲッターとセッター1.3 これ1.4 静的プロパ...
目次JSONとはなぜこの技術なのでしょうか? JSONの使い方- データ形式- メモ- JSには2つ...
先週、先生が私に数字当てゲームをするちょっとした宿題を出しました。とても面白いと思ったので、適当に書...
idea を使用して JSP ファイルを書き込む前に、jdk 環境 (ここでは説明しません) と対応...
1. 背景1.1 問題点最近の製品テスト レポートでは、PKI ベースの認証方法の使用が推奨されて...
3G の普及により、携帯電話を使ってインターネットにアクセスする人が増えています。モバイル デバイ...
目次1. 環境2. 準備3. MySQL 8.0.11をインストールするMySQL 8 の公式バージ...
テスターとして、学習プロセス中に Linux でソフトウェアをインストールする必要が頻繁にある場合が...
React は、ユーザー インターフェイスを構築するための JavaScript ライブラリです。 ...
問題の説明今日、ページ スタイルを変更していたときに、子要素にmargin-top設定したのに、子要...
MySQL データベースのバージョンを 5.6.28 から 8.0.11 にアップグレード中にプロジ...