🐳 DOCKER

Docker Springboot Container에 외부 환경 변수 적용하기

창히 2023. 6. 18. 18:46

설명

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 : 환경 변수 파일 읽기

 

참고

반응형