1. docker設定ファイルを変更し、ポート2375を開きます。 [root@s162 docker]# vim /usr/lib/systemd/system/docker.service #ExecStart を見つけて、最後に # を追加し、-H tcp://0.0.0.0:2375 を追加します [root@s162 docker]# systemctl daemon-reload [root@s162 docker]# systemctl dockerを起動します ## ポート 2375 が有効になっているかどうかを確認します [root@s162 docker]# lsof -i:2375 コマンド PID ユーザー FD タイプ デバイス サイズ/オフ ノード名 dockerd 27021 ルート 5u IPv6 352598799 0t0 TCP *:2375 (LISTEN) 2. Dockerプラグインのインストールと設定 2.1. idea-pluginsマーケットからdockerプラグインをインストールする わずかに… 2.2. Dockerの設定 3. SpringbootプロジェクトをDockerサーバーにデプロイする 3.1. docker/dockerfile の作成 3.2. Maven に docker-maven-plugin プラグインを追加 <プラグイン> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <バージョン>1.0.0</バージョン> <構成> <!-- 生成されたイメージ名を指定します。タグを指定しない場合は、デフォルトで最新のものが使用されます--> <画像名>jhs/${プロジェクト アーティファクト ID}:${プロジェクト バージョン}}</画像名> <!-- 追加の指定タグを追加します (必須ではありません) --> <!-- <画像タグ> <imageTag>${project.version}</imageTag> </画像タグ> --> <!-- Dockerfile パスを指定します: プロジェクトのルート パスの下 --> <dockerディレクトリ>${project.basedir}/docker</dockerディレクトリ> <!-- リモート Docker API アドレスを指定します --> <dockerホスト>http://192.168.129.162:2375</dockerホスト> <!-- リソースをコピー --> <リソース> <リソース> <ターゲットパス>/</ターゲットパス> <ディレクトリ>${project.build.directory}</ディレクトリ> <include>${project.build.finalName}.jar</include> </リソース> </リソース> <!--docker build 時に dockerfile: イメージ作成時に変数を設定する --> <ビルド引数> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </構成> </プラグイン> 3.3. docker:ビルド コマンド 3.4 docker:タグ
プラグインの設定 <構成> <画像>jhs/${project.artifactId}:${project.version}</画像> <!-- docker タグ --> <新しい名前>192.168.129.160:5000/${プロジェクト.アーティファクトId}:${プロジェクト.バージョン}}</新しい名前> </構成> 後続のプッシュに備えてイメージにタグを付けます: 3.5 docker:プッシュ プラグインの設定 <構成> <!-- docker push はリモートイメージリポジトリにプッシュします--> <!-- serverId: Maven の setting.xml で設定されたサーバー情報 ID です --> <serverId>nexus-docker-registry</serverId> <レジストリ URL>192.168.129.160:5000</レジストリ URL> <!-- タグ付きの新しいイメージを Nexus にプッシュします --> <画像名>192.168.129.160:5000/${プロジェクト.アーティファクトId}</画像名> </構成> 上記のタグを付けられたイメージをプライベートサーバー nexus にプッシュします: 3.6 Dockerプラグインパラメータ
3.7 Mavenフェーズへのコマンドのバインド <処刑> <実行> <id>ビルドイメージ</id> <phase>パッケージ</phase> <目標> <goal>ビルド</goal> </目標> </実行> <実行> <id>タグ画像</id> <phase>パッケージ</phase> <目標> <goal>タグ</goal> </目標> <構成> <画像>jhs/${project.artifactId}:${project.version}</画像> <新しい名前>192.168.129.160:5000/${プロジェクト.アーティファクトId}:${プロジェクト.バージョン}}</新しい名前> </構成> </実行> <実行> <id>プッシュイメージ</id> <phase>デプロイ</phase> <目標> <goal>プッシュ</goal> </目標> <構成> <!-- docker push はリモートイメージリポジトリにプッシュします--> <!-- serverId: Maven の setting.xml で設定されたサーバー情報 ID です --> <serverId>nexus-docker-registry</serverId> <レジストリ URL>192.168.129.160:5000</レジストリ URL> <画像名>192.168.129.160:5000/${プロジェクト.アーティファクトId}</画像名> </構成> </実行> </処刑> 3.8 ベストプラクティス <プロパティ> <docker.host>http://192.168.129.162:2375</docker.host> レジストリの URL は 192.168.129.160:5000 です。 </プロパティ> <ビルド> <プラグイン> <プラグイン> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <バージョン>1.0.0</バージョン> <構成> <画像名>dic/${プロジェクト.artifactId}:${プロジェクト.バージョン}}</画像名> <!-- 追加の指定タグを追加します (複数のタグを設定できます)。指定しない場合は最新のタグになります --> <!-- <画像タグ> <imageTag>${project.version}</imageTag> </画像タグ> --> <!-- Dockerfile パスを指定します: プロジェクトのルート パスの下 --> <dockerディレクトリ>${project.basedir}/docker</dockerディレクトリ> <!-- リモート Docker API アドレスを指定します --> <dockerホスト>${docker.host}</dockerホスト> <!-- リソースをコピー --> <リソース> <リソース> <ターゲットパス>/</ターゲットパス> <ディレクトリ>${project.build.directory}</ディレクトリ> <include>${project.build.finalName}.jar</include> </リソース> </リソース> <!--docker build 時に dockerfile: イメージ作成時に変数を設定する --> <ビルド引数> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </構成> <処刑> <実行> <id>ビルドイメージ</id> <phase>パッケージ</phase> <目標> <goal>ビルド</goal> </目標> </実行> <実行> <id>タグ画像</id> <phase>パッケージ</phase> <目標> <goal>タグ</goal> </目標> <構成> <画像>dic/${project.artifactId}:${project.version}</画像> <新しい名前>${docker.registry.url}/${project.artifactId}:${project.version}</新しい名前> </構成> </実行> <実行> <id>プッシュイメージ</id> <phase>デプロイ</phase> <目標> <goal>プッシュ</goal> </目標> <構成> <!-- docker push はリモートイメージリポジトリにプッシュします--> <!-- serverId: Maven の setting.xml で設定されたサーバー情報 ID です --> <serverId>nexus-docker-registry</serverId> <レジストリ URL>${docker.registry.url}</レジストリ URL> <イメージ名>${docker.registry.url}/${project.artifactId}</イメージ名> </構成> </実行> </処刑> </プラグイン> </プラグイン> </ビルド> 4. プライベートDockerリポジトリHarborのインストール手順の詳細(補足) https://www.jb51.net/article/161964.htm これで、docker を接続してワンクリック デプロイメントを実現するアイデアに関するこの記事は終了です。docker を接続してワンクリック デプロイメントを実現する関連アイデアの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 要素テーブルテーブルコンポーネントの複数フィールド(複数列)ソート方法
この記事は主に、docker デプロイメント springboot プロジェクトのサンプル分析を紹介...
3. MySQLデータ管理最初の方法:お勧めできません。複雑そうです -- 学生テーブルの grad...
デフォルトでは、CentOS 7 上の PHP は apache または nobody として実行さ...
Object.definePropertyの理解文法:オブジェクト.defineProperty(o...
目次序文1. scp2をインストールする2. テスト/本番環境サーバーのSSHリモートログインアカウ...
DataGrid コントロールの DataSource プロパティがデザイン時に設定されている場合、...
序文実際には、次のような問題に遭遇する可能性があります。特定のレコードの ID がわかっていて、その...
プロットレビュー前回の記事では、ロケーション命令の解析プロセスを分析しました。この内容を簡単に確認し...
ウェブデザイナーでもUIデザイナーでも、ログインページや登録ページのデザインは必ず経験しなければなら...
この記事の例では、ショッピングカートのロジックと機能を実装するためのjsの具体的なコードを共有してい...
背景フレックス レイアウトにより、配置とスペースの割り当てがより効果的に実現されます。最近、flex...
1. ファイアウォールルールを設定する例1: ポート8080を外部に公開する ファイアウォールコマン...
「脳が多数の領域間の関係を処理できるように、入力は論理的なグループに分割する必要があります。」 – ...
CSS3 はアニメーションを作成でき、多くの Web ページのアニメーション画像、Flash アニメ...
基本概念現在の読み取りとスナップショットの読み取りMVCC では、読み取り操作はスナップショット読み...