目次
1. Springboot は構成情報を動的に挿入します。
1. データベース接続アドレスの URL を空のパッケージに設定します。
2. 起動をテストします。
3. パラメータを注入して開始します。
4. インジェクションパラメータフィールドをカスタマイズします。
5. 複数のパラメータを挿入します。
6. 共通の起動パラメータ。
sudo docker build -t brief_plus_ao:v1.0.0.1 -f ./Dockerfile .
ログイン後にコピー
" >
sudo docker build -t brief_plus_ao:v1.0.0.1 -f ./Dockerfile .
ログイン後にコピー
ホームページ Java &#&チュートリアル springbootで構成を動的に挿入し、dockerで環境変数を設定する方法は何ですか?

springbootで構成を動的に挿入し、dockerで環境変数を設定する方法は何ですか?

May 10, 2023 pm 02:37 PM
docker springboot

1. Springboot は構成情報を動的に挿入します。

これは非常に単純な質問ですが、私はコマンドを覚えるのが苦手です。実用的な jar -jar は、springboot プロジェクトを開始するときにいくつかのパラメーターを追加するために使用されることだけを知っています。具体的なパラメータは覚えていないのですが、これらのコマンドがどのように設定されているのかわからないので、ここで簡単にまとめておきます。

Springboot 構成の優先順位 デフォルト構成 <構成ファイル <コマンド構成

1. データベース接続アドレスの URL を空のパッケージに設定します。

#这里是数据库配置 数据库的连接地址 现在我把url设置为空然后打包jar
spring:
  datasource:
    #数据源基本配置
    username: root
    password: jishuzhai
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: 
    type: com.alibaba.druid.pool.DruidDataSource
ログイン後にコピー

2. 起動をテストします。

java -jar Brief-plus_oa.jar #アプリケーションを開始しようとすると、次のエラーが報告されます
#データソースの構成に失敗しました: 'url' 属性が指定されておらず、埋め込まれたデータソースもありません

3. パラメータを注入して開始します。

この -D により、Java 実行コマンドの理解が深まります

java -jar -Dspring.datasource.url="jdbc:mysql://127.0.0.1:3306 /brief_min? zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=utf-8" Brief-plus_oa.jar #プロジェクトを正常に開始します。ここでの spring.datasource.url は構成ファイルのフィールドと一致している必要があることに注意してください

4. インジェクションパラメータフィールドをカスタマイズします。

整个url字段全部注入现在太难输入了,整个url只有ip地址是变化的这里可以简化一下看下面配置:
 
 brief:
  mysql:
    host: #自定义的参数
    
spring:
  datasource:
    #数据源基本配置
    username: root
    password: jishuzhai
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://${brief.mysql.host}:3306/brief_min?zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=utf-8
    type: com.alibaba.druid.pool.DruidDataSource
重新打包然后运行:
 
java -jar -Dbrief.mysql.host=127.0.0.1 brief-plus_oa.jar #启动成功
ログイン後にコピー

5. 複数のパラメータを挿入します。

java -jar -Dspring.profiles.active=dev -DBRIEF.MYSQL.HOST=192.168.2.5 -DSPRING.REDIS.HOST=192.168.2.5 Brief-plus_oa.jar

6. 共通の起動パラメータ。

#構成ファイルの設定: ポート、パラメータなど

ログ出力の設定

仮想マシン設定の設定

エンコーディングの設定

java -jar -Dserver.port=10000 Brief-plus_oa.jar #ポートを設定します

java -jar -DSPRING_PROFILES_ACTIVE=dev Brief-plus_oa.jar #有効な構成ファイルを dev
java -jar - に設定しますDlogging.path =/Users/fuping/Desktop/log Brief-plus_oa.jar #ログ ファイルの保存ディレクトリを設定します
java -jar -Dbrief.mysql.host=127.0.0.1 Brief-plus_oa.jar & #印刷を開始しますプロセス ID
java -jar -Dfile.encoding=utf-8 Brief-plus_oa.jar #Windows サーバーが文字化けして起動するときに使用するファイル エンコーディングを設定します。
nohup java -jar Brief-plus_oa.jar > log.txt 2>&1 & #バックグラウンド起動 そして、起動ログを log.txt ファイルに入力し、プロセス ID を出力します
java -Xms256m -Xmx512m Brief-plus_oa.jar #仮想マシンのメモリ アドレスを設定します

-D の後のパラメータ名は大文字と小文字が区別されないことに注意してください

2. Docker は環境変数を動的に挿入します

1. Dockerfile の設定。

FROM openjdk:17
# 镜像是从 openjdk:11-jdk-alpin 继承而来的
VOLUME /root/tmp
# 表示挂载了 /root/tmp 目录到容器中
ADD build/libs/brief-plus_oa-0.0.1-SNAPSHOT.jar apprun.jar
# 将bootJar 添加到镜像中根目录下 命令为 apprun.jar
ENTRYPOINT ["java","-jar","/apprun.jar"]
# ENTRYPOINT 在容器启动后执行 java 命令来运行程序
# 设置容器时间
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
EXPOSE 8099
ログイン後にコピー

2. Docker イメージをビルドします。

sudo docker build -t brief_plus_ao:v1.0.0.1 -f ./Dockerfile .
ログイン後にコピー

3. イメージを実行し、env 環境変数を挿入します。 -e

sudo docker run  -p 8090:8090 -e BRIEF.MYSQL.HOST=192.168.31.113  -e SPRING.REDIS.HOST=192.168.31.113 brief_plus_ao:v1.0.0.1
ログイン後にコピー

以上がspringbootで構成を動的に挿入し、dockerで環境変数を設定する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerバージョンを読む方法 Dockerバージョンを読む方法 Apr 15, 2025 am 11:51 AM

Dockerバージョンを取得するには、次の手順を実行できます。Dockerコマンド「Docker -version」を実行して、クライアントバージョンとサーバーバージョンを表示します。 MacまたはWindowsの場合は、DockerデスクトップGUIのバージョンタブまたはDockerデスクトップメニューのバージョン情報を表示することもできます。

Dockerでミラーを作成する方法 Dockerでミラーを作成する方法 Apr 15, 2025 am 11:27 AM

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

中国のDocker画像ソースを変更する方法 中国のDocker画像ソースを変更する方法 Apr 15, 2025 am 11:30 AM

国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Docker画像を保存する方法 Docker画像を保存する方法 Apr 15, 2025 am 11:54 AM

Dockerに画像を保存するには、Docker Commitコマンドを使用して、指定されたコンテナの現在の状態、Syntax:Docker Commit [Options]コンテナID画像名を含む新しい画像を作成できます。画像をリポジトリに保存するには、Docker Pushコマンド、Syntax:Docker Push Image Name [:Tag]を使用できます。保存された画像をインポートするには、Docker Pullコマンド、Syntax:Docker Pull Image Name [:Tag]を使用できます。

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Dockerからログを表示する方法 Dockerからログを表示する方法 Apr 15, 2025 pm 12:24 PM

Dockerログを表示する方法は次のとおりです。たとえば、Docker Logsコマンドを使用します。たとえば、Docker logs container_name docker execコマンドを使用して /bin /shを実行し、logファイルを表示します。 cat /var/log/container_name.log docker-compose -f docker-comのDocker ComposeのDocker-Composeログを使用します。

See all articles