IntelliJ IDEA に Docker プラグインをインストールする詳細な手順 (2018 バージョン)

IntelliJ IDEA に Docker プラグインをインストールする詳細な手順 (2018 バージョン)

1. 開発環境

開発ツールバージョン
IntelliJ IDEA 2018.1.6 (コミュニティエディション)
Docker統合181.5087.20

2. dockerプラグインをインストールする

1. アイデアのインストール

Idea を開き、「ファイル」->「設定」->「プラグイン」->「JetBrains プラグインのインストール」に移動してプラグインのインストール インターフェイスに入り、検索ボックスに「docker」と入力すると Docker 統合が表示されます。右側の「インストール」ボタンをクリックしてインストールします。インストール後に Idea を再起動します。

再起動後、docker を設定し、リモート docker サービスに接続します。 [ファイル] -> [設定] -> [ビルド、実行、デプロイメント] -> [Docker] から構成インターフェイスを開きます。

+ 記号をクリックして Docker 構成を追加し、名前とエンジン API URL を入力します。URL は Docker サービスのアドレスであり、Docker ではリモート接続機能を有効にする必要があります。 CentOS では、リモート接続を有効にするために、docker 起動パラメータに次の構成を追加します。

設定ファイルの場所: /usr/lib/systemd/system/docker.service、設定パラメータ項目: ExecStart

-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

2. インストールパッケージをダウンロードしてインストールします

JetBrains の公式 Web サイト (http://plugins.jetbrains.com/plugin/7724-docker-integration) から docker インストール パッケージをダウンロードし、ダウンロード後に Idea を開き、[ファイル] -> [設定] -> [プラグイン] -> [ディスクからプラグインをインストール] からファイル選択インターフェイスを開き、ダウンロードした zip インストール パッケージを選択して、インストール後に Idea を再起動します。構成は上記の通りです。

3. Spring Boot サービスの Docker デプロイメント

1. 新しいSpring Bootプロジェクトを作成する

サンプル プロジェクト https://github.com/sealire/people/tree/tutorial を参照して、次のようにプロジェクト内に単純に文字列を返す REST インターフェイスを記述できます。

@RequestMapping(値 = "テスト"、メソッド = RequestMethod.GET)
@レスポンス本文
パブリックオブジェクトテスト(HttpServletRequestリクエスト、@RequestParam文字列パラメータ) {
    パラメータを返します。
}

pom ファイルを変更し、プロパティを追加し、プラグインを追加します。

<プロパティ>
    <docker.image.prefix>リーシア</docker.image.prefix>
</プロパティ>
 
<ビルド>
	<プラグイン>
		<プラグイン>
			<groupId>com.spotify</groupId>
			<artifactId>docker-maven-plugin</artifactId>
			<バージョン>1.0.0</バージョン>
			<構成>
				<イメージ名>${docker.image.prefix}/${project.artifactId}</イメージ名>
				<dockerディレクトリ></dockerディレクトリ>
				<リソース>
					<リソース>
						<ターゲットパス>/</ターゲットパス>
						<ディレクトリ>${project.build.directory}</ディレクトリ>
						<include>${project.build.finalName}.jar</include>
					</リソース>
				</リソース>
			</構成>
		</プラグイン>
	</プラグイン>
</ビルド>

2. Dockerfileファイルを構成する

プロジェクトのルート ディレクトリに次の内容の新しい Dockerfile ファイルを作成します。

java:8より
ボリューム /tmp
コピー target/resource-1.0-SNAPSHOT.jar resource.jar
bash -c "touch /resource.jar" を実行します。
エクスポーズ8080
エントリポイント ["java","-jar","re​​source.jar"]
 
# docker run -d -p 18080:8080 --name docker-resource leesia/resource:1.0

ベースイメージは java:8 であり、コピーコマンドは /target の下のリソース jar をイメージにコピーします。 ENTRYPOINT はコンテナを起動するコマンドです。

3. Dockerイメージを作成する

プロジェクトをパッケージ化し、idea ターミナルで mvn clean package コマンドを実行してコンパイルおよびパッケージ化します。パッケージ化後、ターゲット ディレクトリに jar パッケージが生成されます。

jar パッケージを生成したら、テストのためにローカルでサービスを開始できます。テスト後、Docker イメージ作成コマンドを設定します。 [実行] -> [構成の編集] から構成インターフェイスに入ります。

Docker をクリックし、+ 記号をクリックして、docker コマンドを追加し、名前を入力して、サーバーを選択し、Dockerfile ファイルを選択して、イメージ タグを入力し、構成を完了します。

設定が完了したら、このコマンドを実行します。

エラーがなければ、Docker サーバーに接続され、イメージが作成されます。イメージを作成したら、Docker サーバー上でイメージを起動し、次のコマンドを実行してイメージを起動します。

docker run -d -p 18080:8080 --name docker-resource leesia/resource:1.0

-p は、Docker サーバーのポート 18080 をコンテナのポート 8080 にバインドします。

コンテナが起動したら、サービス インターフェイスにアクセスします。インターフェイス パラメータは文字列であり、文字が返されます。

IntelliJ IDEA の docker プラグインのインストールに関するこの記事はこれで終わりです。IDEA の docker プラグインのインストールの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • アイデアはDockerプラグインを使用してワンクリックの自動デプロイを実現します
  • IDEA は Docker プラグインを使用します (初心者向けチュートリアル)
  • Docker プラグインを使用して IDEA のクラウド サーバーにプロジェクトをリモートでデプロイする方法
  • IDEA が Docker プラグインを統合した後のログの文字化けの問題を解決
  • IDEA の Docker プラグインを介して Springboot プロジェクトを公開する方法の詳細なチュートリアル

<<:  入力選択スタイルを変更する CSS 疑似クラスのサンプルコード

>>:  JS ES 新機能テンプレート文字列

推薦する

CentOS8 で Docker を使用してオープンソース プロジェクト Tcloud をデプロイするチュートリアル

1. Dockerをインストールする1. 仮想マシンに Centos7 をインストールしました。Li...

JSインターセプト文字列の3つの方法の詳細な説明

JS には、文字列をインターセプトするための 3 つのメソッド、 slice() 、 substri...

Linuxの簡単な分析でファイアウォールの状態と外部に開いているポートの状態を確認する

1. ファイアウォールの状態を確認するファイアウォールのステータスを確認する systemctl s...

MySQL ログインおよび終了コマンドの形式

mysql ログインのコマンド形式は次のとおりです。 mysql -h [hostip] -u [ユ...

MySQLデータをOracleに移行する正しい方法

mysql データベースには student テーブルがあり、その構造は次のとおりです。 Oracl...

MySQL でよく使用される SQL 文を表示する (詳細な説明)

#mysql -uroot -pパスワードを入力してくださいmysql> show full...

MySQL マスター スレーブ データが矛盾しています。プロンプト: Slave_SQL_Running: 解決策はありません

この記事では、MySQL マスターとスレーブ データ間の不一致の解決方法と、プロンプト「Slave_...

Linux スクリプトの基礎を詳しく紹介

目次1. スクリプトvim環境2. シェルスクリプトで環境を定義する方法3. シェルスクリプト内の翻...

JavaScript でドラッグ可能なプログレスバーを実装する

この記事では、ドラッグ可能なプログレスバーを実装するためのJavaScriptの具体的なコードを参考...

Vue3.0 ルーティング自動インポート方法の例

1. 前提条件インポートには require.context メソッドを使用します。vite で作成...

ページキャッシュを無効にするいくつかの方法を共有する

本日、開発中に、顧客からページをキャッシュしないように要求される方法に遭遇しました。調べたところ、ペ...

Linux ネットワークプログラミングにおけるソケットオプションの実装

ソケットオプション機能機能: ソケットファイル記述子の属性の読み取りと設定に使用されるメソッド #i...

mysqlタイムスタンプの使用

序文:タイムスタンプ フィールドは、MySQL でよく使用されます。たとえば、データ行が作成または変...

Vueはコードのハイライトを実現するためにモナコを使用しています

Vue 言語と要素コンポーネントを使用して、コード コンテンツの入力を必要とし、ハイライト表示が可能...

WangEditor リッチ テキスト コンポーネントを Angular でカプセル化する方法

リッチ テキスト コンポーネントは、Web プログラムで、特にブログやフォーラムなどの Web サイ...