現在、ほとんどのプロジェクトが 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. バックグラウンド実行一般的に、Linux 上のプログラムは .sh ファイル (./sh フ...
日常の開発タスクでは、データ テーブル内のグループ化フィールドに基づいて統計データを取得するために、...
目次1. 概要1. スカイウォーキング入門2. スカイウォーキング建築3. スカイウォーキングはどの...
最近のプロジェクトでは、Google ロボット認証を使用する必要があります。これには VPN が必要...
解決策:クリック イベントをオーディオ コンポーネントにバインドし、再生メソッドと一時停止メソッドを...
目的カルーセルコンポーネントをカプセル化して直接使用します。具体的な内容は以下のとおりです。一般的な...
目次基本的な指示1. 現在のマシンのコンテナステータスを確認する2. イメージをダウンロードまたは取...
1. IDEAの下にあるターミナルをクリックし、mvn clean installと入力します。 次...
1. ubuntu16.04 イメージと対応する ubuntu16.04 カーネル バージョンのソー...
序文現在、私はコースウェア PPT のオンライン プレビューを必要とする高品質のコースに取り組んでい...
目次1. 仮想マシンをダウンロードする2. 仮想マシンのインストールVMware のダウンロードとイ...
目次1. Antデザインビュー1. 公式ウェブサイトアドレス2. 使い方3.電子書籍テーブルを表示す...
目次Zabbix カスタム監視 nginx ステータス1. ステータスインターフェースを開く2. 監...
目次序文1. 基本データ2. 継承駆動設計3. 左右の値のエンコーディングに基づく設計4. ツリー構...
1. zipインストールパッケージをダウンロードするMySQL サーバー 8.0.22 の圧縮パッ...