背景 最近、Docker 初心者の友人から、毎回プロジェクト構成ファイルにハードコーディングしてサービス イメージをビルドし、一連のプロセスを経てパッケージ化して公開し、構成を更新するのではなく、 シナリオ データベース構成項目を含む Springboot プロジェクトがあり、異なるデータベース テスト環境 (DEV\SIT\UAT) に複数のデータベース IP があるとします。同じ Springboot プロジェクト イメージを使用する場合は、いつでもデータベース構成を切り替えることができます。つまり、Springboot アプリケーションのデータベース構成は、ハードコードされるのではなく、外部から渡す必要があります。 Springboot アプリケーションには次のようなデータベース構成があります。 spring.datasource.url = jdbc:mysql://192.168.0.11:3306/db?useUnicode=true&characterEncoding=utf8 #データベースユーザー名を設定する spring.datasource.username = sa #データベースパスワードを設定する spring.datasource.password = sa 解決
次に、Springboot構成ファイル内のspEL式でデータベース構成を置き換えます。 # データベースリンクを構成する spring.datasource.url = jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME}?useUnicode=true&characterEncoding=utf8 #データベースユーザー名を設定します spring.datasource.username = ${DB_USER} #データベースパスワードを設定する spring.datasource.password = ${DB_PASSWORD} バージョン: '3' サービス: ウェブ: 再起動: 常に 依存: -db イメージ: springboot-app-image 建てる: 。 ポート: - 8080:8080 環境: - DB_HOST=192.168.0.11 - DB_PORT=3306 - DB_USER=ルート - DB_パスワード=123456 - DB_NAME=db ネットワーク: - クレジットファシリティネット 展開する: モード: 複製 レプリカ: 3 再起動ポリシー: 条件: 失敗時 遅延: 5秒 最大試行回数: 3 アップデート構成: 並列処理: 1 遅延: 10秒 このようにして、Springbootアプリケーションはコンテナサービスを起動するときにデータベース構成を動的に取得できます。 Docker が Springboot プロジェクトに動的にパラメータを渡す方法についてはこれで終わりです。Docker Springboot の動的パラメータ渡しの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue の計算プロパティとプロパティリスニングについての簡単な説明
>>: MySQLデータ行と行オーバーフローのメカニズムの詳細な説明
目的: ステーションAをステーションBのセカンダリディレクトリとして扱うのように: http://w...
1. 関連ツールと画像をダウンロードするダウンロードリンクバーチャルボックス: https://do...
序文MySQL は MySQL 5.6 からマルチスレッド レプリケーションをサポートしていますが、...
序文一般的な方法はここには記載されていませんが、等しいかどうかを判断するための二重ループや、比較のた...
等高レイアウト同じ親コンテナー内の同じ高さの子要素のレイアウトを指します。等高レイアウトの実装の観点...
目次1. アレイ重複排除2. 配列内のオブジェクトの重複排除3. 配列内の同じフィールドに基づいて別...
目次ナンセンス実装された機能文章要点ナンセンスデモプレビュー実装された機能デフォルトでホームページが...
クリック後にポップアップボックスを実現し、上下左右に中央揃えし、灰色の透明マスクを追加してウィンドウ...
Linuxファイアウォールの状態を確認する方法1. 基本操作 # ファイアウォールのステータスを表示...
Server 2016 のリモート デスクトップ接続のデフォルト数は 2 ユーザーです。2 人以上...
関連記事:初心者が学ぶ HTML タグ (5)導入された HTML タグは、必ずしも XHTML 仕...
失敗の原因今日、カルーセルを書いていたときに、overflow;hidden; が失敗する可能性があ...
まず、フォームを送信するいくつかの方法を見てみましょう。 1. <!--一般的な送信ボタン--...
目次1: webpackをビルドする2. データハイジャック3: まとめ1: webpackをビルド...
Linuxにフラッシュをインストールする方法1. Flashの公式サイトにアクセスし、ダウンロードを...