


Apakah kaedah untuk menyuntik konfigurasi secara dinamik dalam springboot dan menetapkan pembolehubah persekitaran dengan docker?
1. Springboot menyuntik maklumat konfigurasi secara dinamik.
Ini adalah soalan yang sangat mudah, tetapi saya tidak pandai mengingati arahan. Saya hanya tahu balang praktikal untuk menambah beberapa parameter semasa memulakan projek springboot parameter tertentu Saya tidak tahu bagaimana arahan ini dikonfigurasikan, jadi saya akan meringkaskannya secara ringkas di sini.
Keutamaan konfigurasi Springboot Konfigurasi lalai
1. Tetapkan url alamat sambungan pangkalan data kepada pembungkusan kosong.
#这里是数据库配置 数据库的连接地址 现在我把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 #Mencuba untuk memulakan aplikasi akan melaporkan ralat berikut
#Gagal mengkonfigurasi Sumber Data: atribut 'url' tidak ditentukan dan tiada sumber data terbenam boleh dikonfigurasikan
3.
Ini -D meningkatkan pemahaman saya tentang arahan pelaksanaan 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 #Mulakan projek dengan jayanya. Ambil perhatian bahawa spring.datasource.url di sini mesti konsisten dengan medan dalam fail konfigurasi
4. Sesuaikan medan parameter suntikan.
整个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. Parameter permulaan biasa.
Tetapkan fail konfigurasi: port, parameter, dll.
Tetapkan output log
Tetapkan tetapan mesin maya
Tetapkan pengekodan
java -jar -Dserver.port=10000 brief-plus_oa.jar #Tetapkan port
java -jar -DSPRING_PROFILES_ACTIVE=dev brief-plus_oa.jar #Tetapkan fail konfigurasi yang berkesan kepada dev
java -jar - Dlogging.path =/Users/fuping/Desktop/log brief-plus_oa.jar #Tetapkan direktori storan fail log
java -jar -Dbrief.mysql.host=127.0.0.1 brief-plus_oa.jar & #Mulakan pencetakan id proses
java -jar -Dfile.encoding=utf-8 brief-plus_oa.jar #Tetapkan pengekodan fail Gunakan
nohup apabila pelayan windows bermula dengan aksara yang bercelaru java -jar brief-plus_oa.jar > ; log.txt 2>&1 & #background startup Dan masukkan log permulaan ke dalam fail log.txt dan cetak id proses
java -Xms256m -Xmx512m brief-plus_oa.jar #Tetapkan alamat memori mesin maya
Perhatikan bahawa nama parameter selepas -D tidak peka huruf besar-kecil
2. Docker menyuntik pembolehubah persekitaran env secara dinamik
1. Konfigurasi fail Docker.
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. Bina imej buruh pelabuhan.
sudo docker build -t brief_plus_ao:v1.0.0.1 -f ./Dockerfile .
3. Jalankan imej dan suntikan pembolehubah persekitaran 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
Atas ialah kandungan terperinci Apakah kaedah untuk menyuntik konfigurasi secara dinamik dalam springboot dan menetapkan pembolehubah persekitaran dengan docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Langkah -langkah untuk membuat imej Docker: Tulis Dockerfile yang mengandungi arahan membina. Bina imej di terminal, menggunakan arahan membina Docker. Tag imej dan tetapkan nama dan tag menggunakan arahan tag docker.

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Untuk mendapatkan versi Docker, anda boleh melakukan langkah -langkah berikut: Jalankan arahan Docker "Docker -version" untuk melihat versi klien dan pelayan. Untuk MAC atau Windows, anda juga boleh melihat maklumat versi melalui tab versi Docktop GUI atau menu desktop Docker.

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Untuk menyimpan imej di Docker, anda boleh menggunakan arahan Docker Commit untuk membuat imej baru, yang mengandungi keadaan semasa bekas yang ditentukan, Sintaks: Docker Commit [Options] Nama Imej Container ID. Untuk menyimpan imej ke repositori, anda boleh menggunakan arahan PUSH Docker, Sintaks: Docker Push Nama Imej [: TAG]. Untuk mengimport imej yang disimpan, anda boleh menggunakan arahan tarik docker, sintaks: docker tarik nama imej [: tag].

Empat cara untuk keluar dari Docker Container: Gunakan Ctrl D di terminal kontena masukkan perintah keluar di terminal kontena Gunakan Docker Stop & lt; container_name & gt; Perintah Gunakan Docker Kill & lt; container_name & gt; Perintah di terminal tuan rumah (keluar kuasa)
