背景 最近、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データ行と行オーバーフローのメカニズムの詳細な説明
Java で ffmpeg を呼び出してビデオ形式を flv に変換する方法の詳細な説明注:以下のプ...
目次文字セット比較ルール4つのレベルの文字セットと比較規則3つのシステム変数このノートは主にMySQ...
一時テーブルとメモリテーブルメモリ テーブルとは、メモリ エンジンを使用するテーブルを指します。テー...
序文エージェントの役割は何ですか? - 複数のドメイン名が同じサーバーに解決される- 1つのサーバー...
MySQL 5.5 の場合、文字セットが設定されていない場合、MySQL のデフォルトの文字セットは...
この記事では、オンラインリアルタイム多人数チャットルームを実現するためのNode.js+expres...
複数のデータベースをバックアップするには、次のコマンドを使用できます。 mysqldump -uro...
1. left(name,4)は左の4文字をインターセプトしますリスト: SELECT LEFT(2...
MySQL 8.0.16 にインストールする場合、「UTF8B3」ではなく「UTF8B4」が使用さ...
序文この記事では、MySQL 5.7 グリーン バージョンのインストール チュートリアルを紹介します...
目次mysql フィルター レプリケーションメインデータベースに実装ライブラリから実装いくつかの質問...
新しいプロジェクトは基本的に終了しました。フロントエンドとバックエンドを分離して統合を完了したのは初...
目次1. MySQLでよく使われる文字列関数2. 数値関数3. 日付と時刻の機能4. プロセス機能5...
/****************** * カーネルデバッグ技術 ****************...
RocketMQ は、Alibaba が設計した分散型のキューベースのメッセージング ミドルウェア...