springboot에 구성을 동적으로 주입하고 docker로 환경 변수를 설정하는 방법은 무엇입니까?
1. Springboot는 구성 정보를 동적으로 주입합니다.
아주 간단한 질문인데, 저는 springboot 프로젝트를 시작할 때 몇 가지 매개변수를 추가하는 실용적인 jar -jar만 알고 있고, 구체적인 매개변수도 기억하지 못합니다. 이 명령이 무엇인지 모릅니다. 구성 방법이 여기에 간략하게 요약되어 있습니다.
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는 env 환경 변수
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. 도커 이미지를 빌드합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Docker Desktop을 사용하는 방법? Docker Desktop은 로컬 머신에서 Docker 컨테이너를 실행하는 도구입니다. 사용 단계는 다음과 같습니다. 1. Docker Desktop 설치; 2. Docker Desktop을 시작하십시오. 3. Docker 이미지를 만듭니다 (Dockerfile 사용); 4. Docker Image 빌드 (Docker 빌드 사용); 5. 도커 컨테이너를 실행하십시오 (Docker Run 사용).

Docker 이미지 생성 단계 : 빌드 지침이 포함 된 Dockerfile을 작성하십시오. Docker 빌드 명령을 사용하여 터미널에 이미지를 빌드하십시오. Docker 태그 명령을 사용하여 이미지를 태그하고 이름과 태그를 지정하십시오.

Docker 버전을 얻으려면 다음 단계를 수행 할 수 있습니다. Docker 명령 "Docker -version"을 실행하여 클라이언트 및 서버 버전을 볼 수 있습니다. Mac 또는 Windows의 경우 Docker Desktop GUI의 버전 탭 또는 Aff Docker Desktop 메뉴를 통해 버전 정보를 볼 수도 있습니다.

국내 거울 소스로 전환 할 수 있습니다. 단계는 다음과 같습니다. 1. 구성 파일 /etc/docker/daemon.json 편집 및 미러 소스 주소를 추가하십시오. 2. 저장 및 종료 후 Docker Service Sudo SystemCTL Docker를 다시 시작하여 이미지 다운로드 속도 및 안정성을 향상시킵니다.

Docker 이미지를 업데이트하는 단계는 다음과 같습니다. 최신 이미지 태그 가져 오기 새 이미지 특정 태그의 이전 이미지 삭제 (선택 사항) 컨테이너를 다시 시작하십시오 (필요한 경우)

Docker Logs를 보는 방법에는 다음이 포함됩니다. Docker Logs 명령 사용 : Docker Logs Container_name Docker Exec 명령을 사용하여 RUN /BIN /SH를 사용하여 로그 파일을 봅니다. cat /var/log/container_name.log docker-compose logs docker compose의 명령 : docker-compose -f docker-com 사용

Docker Private Repositories를 구축하여 컨테이너 이미지를 안전하게 저장하고 관리하여 엄격한 제어 및 보안을 제공 할 수 있습니다. 단계에는 리포지토리 생성, 액세스 부여, 저장소 배포, 이미지 밀기 및 이미지를 당기는 단계가 포함됩니다. 보안, 버전 제어, 네트워크 트래픽 감소 및 사용자 정의가 장점이 있습니다.

Docker 명령을 실행하는 방법? Docker를 설치하고 데몬을 시작하십시오. 공통 docker 명령 : 디스플레이 이미지 Docker PS : 디스플레이 컨테이너 Docker Run : 컨테이너 컨테이너 Docker 정지 : 컨테이너 중지 Docker RM : Docker exec : Docker Exec : Docker Exec : 실행 명령 Docker Logs 첨부 : Display Log Docker Commit : DICKER STOP DOCKER DACON : Sudo SystemCTL Docker 로그 : Sudo SystemCTL STOP DOCKER COMMIN
