설명
Springboot 프로젝트의 application.yml에 적용되어 있는 값중 AWS 설정 값 ..등 민감한 정보들에 대해
변수화 하고 서버내.env파일을 두어 Docker 컨테이너 실행시 .env를 읽어 들여 application.yml에 변수에 값이 적용 되도록 처리
application.yml
# S3 config
cloud:
aws:
s3:
bucket: ${AWS_S3_BUCKET_NAME}
stack.auto: false
region:
static: ${AWS_S3_REGION}
credentials:
accessKey: ${AWS_S3_BUCKET_ACCESS_KEY}
secretKey: ${AWS_S3_BUCKET_SECRET_KEY}
.env
AWS_S3_REGION=ap-northeast-2
AWS_S3_BUCKET_NAME=버킷명
AWS_S3_BUCKET_ACCESS_KEY=액세스키
AWS_S3_BUCKET_SECRET_KEY=비밀키
application.yml 파일에 명시하지 않아도 .env에 아래와 같이 적용하면 AWS S3 설정의 경우 환경변수가 주입된다.
cloud.aws.region=
cloud.aws.s3.bucket=
cloud.aws.s3.credentials.access-key=
cloud.aws.s3.credentials.secret-key=
DOCKER RUN 명령어
docker run -d -p {PORT}:{PORT} --env-file .env --name {컨테이너명} {이미지명}
--env-file : 환경 변수 파일 읽기
참고
반응형