導入現在、k8s は非常に人気があり、それについて学ぶために本を購入しました。しかし、k8s では数百、数千のサーバーの運用と保守が必要です。数台のサーバーしかないアプリケーションの場合、k8s を使用することは、大砲で蚊を殺すようなものです。従来の Tomcat デプロイメントを使用した、数台のサーバーのみでのアプリケーションの運用と保守は面倒で非効率的です。サービスのデプロイには 10 分以上かかります。デプロイメントに Jenkins を使用するのは複雑すぎます。長い間検討した後、デプロイメントには docker+dockerFile を使用することにしました。この展開方法はシンプルで効率的です。 Dockerのインストールcurl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun #ワンクリックインストールスクリプト systemctl enable docker.service #dockerを起動するように設定する systemctl restart docker.service #dockerサービスを開始する Dockerリモートアクセスポートを開く/usr/lib/systemd/system/docker.service ファイルを編集し、以下に示すように -Htcp://0.0.0.0:12375 -H unix://var/run/docker.sock を追加します。 ファイルを保存し、設定を再読み込みして再起動します systemctl daemon-reload # 設定を再読み込み systemctl restart docker.service # docker サービスを再起動 注: -Htcp://0.0.0.0:12375 は、任意の IP アドレスが TCP を使用してこのポートにアクセスできることを意味します。実際の状況に基づいて IP アドレスを一致させることができます。ここではトークンやキーはないので、特に注意してください。クラウドサーバーを使用する場合は、セキュリティグループ IP ホワイトリストアクセスに設定することを強くお勧めします。 Docker を使用してテスト環境で公開してから 3 ~ 4 時間以内に攻撃を受けました。ただし、攻撃に対して特に脆弱なポート 2375 を使用していました。 IDEAdocker環境を構成するアイデアのインストール Docker 環境プラグインは次のとおりです。 インストールが完了したら、idea を再起動して springboot プロジェクトを開き、ルート ディレクトリに Dockerfile ファイルを作成します。以下のように表示されます。 Dockerfile を次のように編集します。 openjdk:11より # イメージは openjdk:11-jdk-alpin から継承されます VOLUME /root/tmp # /root/tmp ディレクトリがコンテナにマウントされていることを示します ADD build/libs/brief-plus-0.0.1-SNAPSHOT.jar apprun.jar # イメージに bootJar を追加します。ルートディレクトリのコマンドは apprun.jar です。 エントリポイント ["java","-jar","/apprun.jar"] #ENTRYPOINT コンテナの起動後にプログラムを実行するためのjavaコマンドを実行します # コンテナの時間を設定します ENV TZ=Asia/Shanghai 実行 ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # ======= その他の Dockerfile コマンド =========== ここでは使用しませんが、念のため説明します #COPY package.json /usr/src/app/ #ADD より高度なファイルのコピー #ADD 命令と COPY の形式と性質は基本的に同じです。ただし、COPY に基づいていくつかの機能が追加されます。 #CMD 命令は、コンテナのメイン プロセスのデフォルトの起動コマンドを指定するために使用されます。 #ENV は環境変数を設定します #HEALTHCHECK ヘルスチェック #EXPOSE この命令は、ランタイム コンテナーによって提供されるサービス ポートを宣言します。これは単なる宣言です。この宣言により、アプリケーションは実行時にこのポートのサービスを開きません EXPOSE 8090 build/libs/brief-plus-0.0.1-SNAPSHOT.jar apprun.jar という文に特に注意してください。 gradle によってコンパイルされたファイルは、次に示すように build/libs/ ディレクトリにあります。 Maven によってコンパイルされたファイルは、次に示すようにターゲット ディレクトリにあります。 Dockerfile は特定のディレクトリとパッケージ名に基づいてイメージ ファイルを生成するため、ここでは間違いがあってはなりません。 Docker サービスを構成する動作環境を構成する TCP接続サービスを作成する 3. Dockerに公開されたサービスを構成する バインディングポートIPの詳細な設定 パッケージリリース ヒント1. Docker イメージ ファイルは、それぞれ独自の署名を持つブロックに分割されます。アップロードされるたびに、相違点が比較され、ファイルが再度アップロードされます。 2. タグに基づいてロールバックできるように、アップロードするたびにタグを変更することを忘れないでください。 3. サーバーのネットワーク構成とファイアウォールを変更するには、Docker サービスを再起動する必要があります。 一般的な docker コマンド: Dockerを再起動する systemctl restart docker # docker サービスを再起動します systemctl daemon-reload # docker 設定を再読み込みします 30分以内にログを表示 docker ログ --since 30m id 以上がCentos8.3とspringbootプロジェクトのdockerデプロイメントの実際の記録の詳細な内容です。springbootプロジェクトのdockerデプロイメントの詳細については、123WORDPRESS.COMの他の関連記事に注目してください! 以下もご興味があるかもしれません:
|
>>: HTML CSS の 3 つの一般的なスタイル セレクター
これが何を意味するのかを理解するには、まずサブディレクトリとは何かを知る必要があります。では、サブデ...
一般的な CSS コードでは、UI レイアウトや互換性に関して軽微な問題が発生するだけです。しかし、...
メディアデバイスタイプの使用法の詳細な説明: <!DOCTYPE html> <h...
この記事では、円形カルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹介しま...
目次セーフモード設定テスト1. where句なしで更新および削除する2. 非インデックスキーの削除3...
マインドマップ彼はおそらく次のように見えるでしょう: インターネット上の実装のほとんどは d3.js...
画像内に下線付きのリンクが表示されても驚かないでください。実はとても簡単なので、あなたにもできるので...
これ以上無駄話をして時間を無駄にしないので、今日の話題を始めましょう。 HTML のメタタグ1. メ...
目次Vuex環境を構築する要約するVuex環境を構築するsrcディレクトリにフォルダstoreを作成...
手順は以下のとおりです1. dockerグループを作成する: sudo groupadd docke...
ブロック引用の定義と使用法<blockquote> タグは引用ブロックを定義します。 &...
1. ヘルプコマンド1. 現在のDockerバージョンを表示する docker バージョン2. イメ...
この記事では、二次リンク効果を実現するためのReact+tsの具体的なコードを参考までに共有します。...
<br />私はいつもYahooのウェブデザインが素晴らしいと信じてきました。しかし、こ...
序文hover疑似クラスが要素に境界線を追加すると、要素内のコンテンツがずれることがあります。box...