application.properties 설정을 환경 변수를 사용하여 local 및 Docker 시작으로 전환
소개
아래 기사에서 보충
【IntelliJ + Docker (APP+DB) + SpringBoot (Maven) 환경 구축】
htps : // m / sm3G / ms / bd61970648d94cb691
docker-compose.yml에 환경 변수 설명
환경에서 Docker 컨테이너를 시작할 때 전달할 환경 변수를 작성할 수 있습니다.
docker-compose.ymlversion: '3'
services:
app:
image: openjdk:14-jdk-alpine
ports:
- "80:8080"
volumes:
- .:/app
working_dir: /app
command: ./mvnw spring-boot:run
environment:
DATASOURCE: jdbc:mysql://db:3306/sample
db:
# 省略
application.properties에 환경 변수 설명
아래 부분
spring.datasource.url=${DATASOURCE:jdbc:mysql://localhost:3306/sample}
application.propertiesspring.datasource.url=${DATASOURCE:jdbc:mysql://localhost:3306/sample}
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
${環境変数:デフォルト値}
라고 기재
환경 변수가 설정된 경우 환경 변수 로드
설정되지 않은 경우 기본값 로드
SpringBoot 시작
로컬 부팅
환경 변수는 아무것도 설정하지 않았기 때문에
기본값 jdbc:mysql://localhost:3306/sample
로드
Docker 시작
docker-compose.yml에서 DATASOURCE라는 이름으로 환경 변수를 설정했기 때문에
앱 컨테이너 내에서이 환경 변수가 적응됩니다.
1. 컨테이너 내에서 SpringBoot 시작
2. 컨테이너에서 application.properties 로드
3. 환경 변수 jdbc:mysql://db:3306/sample
로드
set
에서 환경 변수를 확인했는데 제대로 설정되었습니다.
끝
${環境変数:デフォルト値}
쓰는 법을 전혀 모르고 대머리 같았다.
SprinBoot application.properties 환경 변수 전환 변수 리터럴 ${} 쉘 변수 등으로 여러가지 조사되었다
Reference
이 문제에 관하여(application.properties 설정을 환경 변수를 사용하여 local 및 Docker 시작으로 전환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SSM3G/items/40bac2fc47c6b80884e8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
환경에서 Docker 컨테이너를 시작할 때 전달할 환경 변수를 작성할 수 있습니다.
docker-compose.yml
version: '3'
services:
app:
image: openjdk:14-jdk-alpine
ports:
- "80:8080"
volumes:
- .:/app
working_dir: /app
command: ./mvnw spring-boot:run
environment:
DATASOURCE: jdbc:mysql://db:3306/sample
db:
# 省略
application.properties에 환경 변수 설명
아래 부분
spring.datasource.url=${DATASOURCE:jdbc:mysql://localhost:3306/sample}
application.propertiesspring.datasource.url=${DATASOURCE:jdbc:mysql://localhost:3306/sample}
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
${環境変数:デフォルト値}
라고 기재
환경 변수가 설정된 경우 환경 변수 로드
설정되지 않은 경우 기본값 로드
SpringBoot 시작
로컬 부팅
환경 변수는 아무것도 설정하지 않았기 때문에
기본값 jdbc:mysql://localhost:3306/sample
로드
Docker 시작
docker-compose.yml에서 DATASOURCE라는 이름으로 환경 변수를 설정했기 때문에
앱 컨테이너 내에서이 환경 변수가 적응됩니다.
1. 컨테이너 내에서 SpringBoot 시작
2. 컨테이너에서 application.properties 로드
3. 환경 변수 jdbc:mysql://db:3306/sample
로드
set
에서 환경 변수를 확인했는데 제대로 설정되었습니다.
끝
${環境変数:デフォルト値}
쓰는 법을 전혀 모르고 대머리 같았다.
SprinBoot application.properties 환경 변수 전환 변수 리터럴 ${} 쉘 변수 등으로 여러가지 조사되었다
Reference
이 문제에 관하여(application.properties 설정을 환경 변수를 사용하여 local 및 Docker 시작으로 전환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SSM3G/items/40bac2fc47c6b80884e8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
spring.datasource.url=${DATASOURCE:jdbc:mysql://localhost:3306/sample}
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
로컬 부팅
환경 변수는 아무것도 설정하지 않았기 때문에
기본값
jdbc:mysql://localhost:3306/sample
로드Docker 시작
docker-compose.yml에서 DATASOURCE라는 이름으로 환경 변수를 설정했기 때문에
앱 컨테이너 내에서이 환경 변수가 적응됩니다.
1. 컨테이너 내에서 SpringBoot 시작
2. 컨테이너에서 application.properties 로드
3. 환경 변수
jdbc:mysql://db:3306/sample
로드set
에서 환경 변수를 확인했는데 제대로 설정되었습니다.끝
${環境変数:デフォルト値}
쓰는 법을 전혀 모르고 대머리 같았다.
SprinBoot application.properties 환경 변수 전환 변수 리터럴 ${} 쉘 변수 등으로 여러가지 조사되었다
Reference
이 문제에 관하여(application.properties 설정을 환경 변수를 사용하여 local 및 Docker 시작으로 전환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SSM3G/items/40bac2fc47c6b80884e8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(application.properties 설정을 환경 변수를 사용하여 local 및 Docker 시작으로 전환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/SSM3G/items/40bac2fc47c6b80884e8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)