쌓고 쌓다
docker-compose에 환경 변수 ${} 설정하는 방법 본문
docker-compose.yml를 다음과 같이 작성하고 사용하고 있었다...
보면 MYSQL_ROOT_PASSWORD를 작성해야한다.
현재 깃허브에 docker-compose.yml도 올리면서 사용하고싶은데 비밀번호를 노출하고싶지 않다.
우연히 다른 코드들을 보았는데 ${}와 같이 따로 값들을 불러들이는 방법이 있다는걸 알았다.
도커 환경 변수 사용 방법은 다음과 같다.
docker-compose.yml와 같은 위치에 ".env" 파일을 작성한다.
".env"에는 Key-Value 형식으로 값들을 작성하자.
".env"에서 불러온 값들로 어떤 값들이 채워졌는지는 다음과 같은 명령어로 확인할 수 있다.
docker compose config
로컬에서 서버를 동작할때랑
서버를 이미지 파일로 만들때
application.properties와 docker-compose.yml에서 디비 관련
설정 값들이 달라서 고생을 했었는데
이제 이미지를 빌드할때 다음과 같이 application.properties에 datasource의 아이디, 비밀번호가 작성이 되어있어도
다음과 같이 application.properties로 빌드된 파일을 가지고 이미지를 만들때
위의 datasource 아이디, 비밀번호로 덮어 쓰인다는것을 확인했다.
이제 로컬에서 서버를 돌려보거나 이미지 파일을 만들때 환경 설정들을 변경하지 않아도 된다~
'프로그래밍 > docker' 카테고리의 다른 글
도커로 스프링부트 로그 파일 마운트(볼륨) 하는 방법 (0) | 2024.05.26 |
---|---|
MySQL 데이터 백업 및 가져오기/Docker MySQL 볼륨 마운트 (0) | 2024.04.30 |
Docker Container에서 Local의 DB 접근하는 방법 (0) | 2024.04.14 |
Comments