


Quelle est la méthode pour injecter dynamiquement une configuration dans Springboot et définir des variables d'environnement avec Docker ?
1. Springboot injecte dynamiquement les informations de configuration.
C'est une question très simple, mais je ne suis pas doué pour me souvenir des commandes. Je sais juste comment utiliser jar -jar pour ajouter quelques paramètres lors du démarrage du projet springboot dont je me souviens. les paramètres spécifiques. Je ne sais pas comment configurer ces commandes, je vais donc les résumer brièvement ici.
springboot configuration priorité configuration par défaut
1. Définissez l'adresse de connexion à la base de données url Pack pour vide.
#这里是数据库配置 数据库的连接地址 现在我把url设置为空然后打包jar spring: datasource: #数据源基本配置 username: root password: jishuzhai driver-class-name: com.mysql.cj.jdbc.Driver url: type: com.alibaba.druid.pool.DruidDataSource
2. Démarrage du test.
java -jar brief-plus_oa.jar #La tentative de démarrage de l'application signalera l'erreur suivante
#Échec de la configuration d'une source de données : l'attribut 'url' n'est pas spécifié et aucune source de données intégrée n'a pu être configurée.
3. Injectez les paramètres pour démarrer.
Ce -D augmente ma compréhension des commandes d'exécution Java
4. Personnalisez le champ des paramètres d'injection.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 #Démarrez le projet avec succès. Notez que le spring.datasource.url ici doit être cohérent avec les champs de la configuration file# 🎜🎜#
整个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 #启动成功
Copier après la connexion
5. Injectez plusieurs paramètres. 整个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 #启动成功
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. Paramètres de démarrage courants.
Définir le fichier de configuration : port, paramètres, etc.
Définir la sortie du journal
Définir les paramètres de la machine virtuelle
Définir encoding# 🎜🎜#
java -jar -Dserver.port=10000 brief-plus_oa.jar #Définir le port
java -jar -DSPRING_PROFILES_ACTIVE=dev brief-plus_oa.jar #Définir le fichier de configuration efficace Définir le répertoire de stockage des fichiers journaux pour devjava -jar -Dlogging.path=/Users/fuping/Desktop/log brief-plus_oa.jarjava -jar -Dbrief.mysql.host= 127.0.0.1 brief-plus_oa.jar & #Démarrer le processus d'impression id
2. Docker dynamiquement injecte les variables d'environnement env
java -jar -Dfile.encoding=utf-8 brief-plus_oa.jar #Définir l'encodage du fichier à utiliser lorsque le serveur Windows démarre un code tronqué# 🎜🎜#nohup java -jar brief -plus_oa.jar > log.txt 2>&1 & #Démarrez en arrière-plan et saisissez le journal de démarrage dans le fichier log.txt et imprimez l'identifiant du processus
java -Xms256m - Xmx512m brief-plus_oa.jar #Définissez l'adresse mémoire de la machine virtuelle
Notez que les noms de paramètres après -D ne sont pas sensibles à la casse
1.
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. Créez l'image Docker.
sudo docker build -t brief_plus_ao:v1.0.0.1 -f ./Dockerfile .
3. Exécutez l'image et injectez la variable d'environnement 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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Pour enregistrer l'image dans Docker, vous pouvez utiliser la commande docker commit pour créer une nouvelle image, contenant l'état actuel du conteneur spécifié, Syntaxe: Docker Commit [Options] Nom d'image de l'ID de conteneur. Pour enregistrer l'image dans le référentiel, vous pouvez utiliser la commande docker push, Syntax: Docker Push Image Name [: Tag]. Pour importer des images enregistrées, vous pouvez utiliser la commande docker pull, syntaxe: docker pull name [: tag].

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.

Pour obtenir la version Docker, vous pouvez effectuer les étapes suivantes: exécutez la commande docker "docker --version" pour afficher les versions client et serveur. Pour Mac ou Windows, vous pouvez également afficher les informations de version via l'onglet Version de la GUI de bureau Docker ou du menu de bureau à propos de Docker.

Quatre façons de quitter Docker Container: Utilisez Ctrl D dans le terminal de conteneur Entrez la commande d'exit dans le terminal de conteneur Utilisez Docker Stop & lt; contener_name & gt; Commande utilise docker kill & lt; contener_name & gt; commande dans le terminal hôte (sortie de force)

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").
