Docker-Maven-プラグインマイクロサービスをデプロイする方法は 2 つあります。
Mavenプラグインの自動デプロイメント手順冒頭に書いたように、この方法には抜け穴があり、ハッカーによってマイニングマシンイメージにリモートから簡単に挿入できます。使用時には注意してください。2375が開かれ、IP制限が課されていない場合は、マイニングに引き込まれます。 。 。 CA暗号化ポートの使用をお勧めします 1. ホストマシンのDocker設定を変更し、ポート2375を開いてリモートアクセスを許可します。Maven コマンドをローカルで実行することは、ホスト マシンに対するリモート操作です。Docker のリモート操作はデフォルトで閉じられています。まずポート 2375 を開きます。 まず、ホストマシン上でコマンドを実行し、構成ファイルを変更します(centos 7) vi /lib/systemd/system/docker.service
実行開始=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \
なる 後 Centos7の場合は以下を変更します 実行開始=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 2. 設定を更新してサービスを再起動するsystemctl daemon-reload //Dockerデーモンスレッドをロード systemctl restart docker //Dockerを再起動 3. コンテナファイアウォールを構成するポート2375が開かれていても、外部からはアクセスできず、内部からのみアクセスできます。ファイアウォールを設定する必要があります。 Alibaba Cloudが設定されていない場合は、マイニングに引き込まれる可能性があるので注意してください-_-、これは私の学校のサーバーなので、アクセスするにはVPNが必要ですが、問題ありません これは閉鎖されています。 systemctl stop firewalldコマンドを使用する(ファイアウォールをオフにする) systemctl enable firewalld (ファイアウォールを無効にすると、起動時に起動しなくなります) selinuxをオフにする vi /etc/selinux/config で、SELINUX=enforcing を disabled に変更します。 再起動が完了したら、ファイアウォールとSELinuxのステータスを確認します。 systemctl status firewalld (ファイアウォールの状態を確認する) secon (selinux ステータスの確認) Alibaba Cloudはセキュリティの呪いを設定することを推奨しています この時点で 4. pom.xmlに設定を追加する
<ビルド> <finalName>テストDocker</finalName> <プラグイン> <プラグイン> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </プラグイン> <!--docker maven プラグイン--> <プラグイン> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <バージョン>1.1.0</バージョン> <!--構成セクション--> <構成> <!--imageName ノードの内容をプライベート ウェアハウスのアドレスとポート、およびイメージ ID と TAG に変更し、プライベート サーバーに直接転送します --> <!-- 最終的に生成されるイメージ名を設定します。Docker イメージでは、プロジェクト名: バージョンを使用します --> <画像名>172.19.240.208:5000/${プロジェクト.アーティファクトId}:${プロジェクト.バージョン}}</画像名> <!-- ベースイメージ、Dockerfile の from--> に相当 <baseImage>ascdc/jdk8</baseImage> <!--エントリ ポイント、project.build.finalName は、プロジェクト タグ、testDocker の下のビルド タグの下のファイル名タグの内容です--> <!-- コンテナを起動するのと同等に、java-jar/testDocker.jar が自動的に実行されます --> <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint> <!--docker プライベート ウェアハウスにプッシュするかどうか--> <pushImage>真</pushImage> <レジストリ URL>172.19.240.208:5000</レジストリ URL> <リソース> <リソース> <ターゲットパス>/</ターゲットパス> <ディレクトリ>${project.build.directory}</ディレクトリ> <!--Docker にアップロードされるファイル。Dockerfile に testDocker.jar を追加するのと同等です /--> <include>${project.build.finalName}.jar</include> </リソース> </リソース> <dockerホスト>http://172.19.240.208:2375</dockerホスト> </構成> </プラグイン> </プラグイン> </ビルド> プライベートリポジトリにプッシュするには3つのポイントがあり、コンテナが開始状態にあることが前提であることに注意してください。 <!-- 1. registryUrl ノードを追加します。内容はプライベート ウェアハウスのアドレスとポートです (ここではポート 5000 を設定しました) --> <registryUrl>あなたのIP:5000</registryUrl> <!-- 2. pushImage ノードを追加する--> <pushImage>真</pushImage> <!-- 3. imageName ノードの内容をプライベート ウェアハウスのアドレスとポートに変更し、イメージ ID と TAG を追加します。ウェアハウス内の名前はプロジェクト名: version になります --> <imageName>yourip:5000/${project.artifactId}:${project.version} </imageName> まず、mvn clean と mvn install を実行し、ローカル リポジトリに配置します。 次に、 実行中にエラーが発生しました
Baidu で確認したところ、ログインが必要だという人がたくさんいました。実際、ログインする必要はなく、リポジトリも存在しません。実際、私の docker には jdk1.8 イメージ ファイルがなく、自分でダウンロードする必要があります。docker search jdk8 でプルするか、tar パッケージを自分でアップロードしてから Dockerfile で作成することができます。私は直接1つを引いた プロジェクト内のベースイメージ名を変更する ビルドとプッシュに成功しました ミラーを見る 倉庫を見る docker-maven-plugin の詳しい使い方については以上です。docker-maven-plugin の使い方についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 幅の比率に応じて高さを変えるCSSを実装するいくつかの方法
>>: MySQL データベース シェル import_table データ インポート
目次1. プラグイン式を使用する2. プラグイン式でv-cloakを使用してちらつきの問題を解決する...
目次1. はじめに2. 行き詰まった問題の分析3. 解決策(理論) 4. ソリューション(コード) ...
目次序文JSマジックナンバー数値の保存バイナリ変換方法なぜ 0.1 + 0.2 !== 0.3 なの...
目次タグ付きユニオン型を使用した支払い方法の構築タグ付きユニオン型を使用した Redux アクション...
MySQL で判断文を書く方法:方法1. CASE関数case関数の構文: CASE条件 値1の場合...
目次1. はじめに2. 本文2.1 フィールドの連結2.2 フィールドでの算術計算の実行1. はじめ...
最近はMySQLのパフォーマンス最適化についても研究しているので、今日の投稿は勉強ノートとしても使え...
目次スロットルと手ぶれ防止コンセプト:違いスロットリングの実装スロットル機能手ぶれ補正の実装手ぶれ防...
Ubuntu では、ショートカット キーでタッチパッドをオフにできない状況によく遭遇します。この問題...
rm コマンドrm コマンドは、ファイルを削除するときによく使用されるコマンドです。ファイルまたはデ...
位置が絶対の場合、関連する属性のパーセンテージは、参照先の要素 (包含ブロック) を基準として計算さ...
序文DISTINCT は、GROUP BY 操作の実装と非常によく似ていますが、GROUP BY の...
目次序文環境の準備カテゴリコンポーネントアプリのコンポーネント1. デフォルトスロット2. 名前付き...
プライベート変数のクロージャ実装プライベート変数は共有されないnew キーワードにより、 perso...
この記事では、audioContextを介して3Dサウンド効果を実現するためのjsの具体的なコードを...