現在、ほとんどのプロジェクトが 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 つの方法とその違い
以下の属性はブラウザとの互換性があまりありません。 1.transform:rotate(45度) ...
MySQL 8.0.16で初回ログイン時のパスワードを変更する方法を紹介します。 MySQLデータベ...
自動ビルドとは、Docker Hub を使用して、Dockerfile ファイルを含む GitHub...
オリジナル: http://developer.yahoo.com/performance/rule...
一言で言えば: データハイジャック (Object.defineProperty) + パブリッシュ...
データクリーニング (ETL)コアビジネスの MapReduce プログラムを実行する前に、まずデー...
ClickHouse は、オープンソースの列指向 DBMS (Yandex によって開発) です。 ...
####システム内の入出力の管理#### 1. システムの入力と出力のリダイレクトを理解する入力リダ...
序文プロジェクトを開発しているときに、かなり厄介な問題に遭遇しました。この製品では、判断のためにブラ...
コードをコピーコードは次のとおりです。リンクフォントサイズ: 12px;色: #000000;テキス...
コードの説明1.1 http:www.baidu.test.com のデフォルトは 80 で、リバー...
MySQL 論理アーキテクチャの概要他のデータベースと比較すると、MySQL は、そのアーキテクチャ...
目次イベントループブラウザ環境イベントループノード環境イベントループ6つのステージ(1)setTim...
ハイパーフ公式サイトHyperf 公式ドキュメントのインストール1. Dockerの使用docker...
最近、私はデザインには階層感覚が必要だと言っています。この階層感覚には、色の重ね合わせや要素の重ね合...