강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

11 1님의 프로필 이미지
11 1

작성한 질문수

비전공자도 이해할 수 있는 Docker 입문/실전

[실습] AWS EC2에 Spring Boot, MySQL, Redis 배포하기

compose.yml 관리

해결된 질문

작성

·

29

·

수정됨

0

현업에선 compose.yml도 .env와 마찬가지로 .gitignore에 추가하나요? 이런 경우, compose.yml도 .env 때와 마찬가지로 새로 작성하나요?

그리고 이 강의에선 compose.yml에 MySQL을 작성했는데, 만약 RDS를 사용한다면 MySQL에 관련된 것은 도커 컨테이너에 띄우지 않는다고 이해했는데 맞나요?

 

그리고 ECR 리포지토리도 삭제하지 않는다면 비용이 발생할까요?

답변 2

1

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 ! 질문 너무 잘해주셨어요 !

질문해 주신 내용에 대해 답변드려볼게요 ~

"현업에선 compose.yml도 .env와 마찬가지로 .gitignore에 추가하나요?"

-> compose.yml 자체는 보통 Git에 포함시켜요 !

compose.yml은 어떤 서비스들을 어떻게 구성할지에 대한 설정 파일이기 때문에 팀원들과 공유가 필요하거든요 ~

다만 compose.yml 안에 비밀번호 같은 민감한 정보가 있다면, 그 값들을 .env 파일로 분리해서 .env만 .gitignore에 추가하는 방식을 많이 사용해요 !

예를 들어 compose.yml에서 MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} 이런 식으로 환경 변수를 참조하고, 실제 값은 .env 파일에 넣어두는 거예요 !

 

"만약 RDS를 사용한다면 MySQL에 관련된 것은 도커 컨테이너에 띄우지 않는다고 이해했는데 맞나요?"

-> 네, 맞아요 ! RDS를 사용하면 AWS에서 MySQL을 관리해주기 때문에 compose.yml에서 MySQL 관련 서비스는 빼고, Spring Boot의 application.yml에서 DB 접속 정보를 RDS의 엔드포인트 주소로 변경하면 돼요 !

강의에서 Docker 컨테이너로 MySQL을 띄운 건 학습 목적이고, 실제 운영 환경에서는 RDS처럼 관리형 서비스를 사용하는 경우가 많아요 :)

 

"ECR 리포지토리도 삭제하지 않는다면 비용이 발생할까요?"

-> ECR은 저장된 이미지의 용량에 따라 스토리지 비용이 발생해요 !

프리 티어 기준으로 월 500MB까지는 무료이기 때문에, 실습 수준의 이미지라면 크게 걱정하지 않으셔도 돼요 ~

하지만 실습이 끝났다면 불필요한 이미지는 삭제해 주시는 게 좋아요 :)

추가로 궁금하신 점 있으시면 언제든 편하게 질문 남겨주세요~~

11 1님의 프로필 이미지
11 1
질문자

답변 감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. 11 1님.

docker-compose.yml 파일과 .env 파일의 관리에 대한 질문을 주셨군요.

1. docker-compose.yml 관리

docker-compose.yml 파일은 일반적으로 프로젝트의 버전 관리 시스템(예: Git)의 일부로 포함됩니다. 이는 환경 설정 파일처럼 환경 간의 차이를 정의할 수 있는 중요한 구성 파일이기 때문입니다. 따라서 보통 .gitignore에 추가하지 않습니다. 버전 관리를 통해 다른 개발자가 동일한 환경을 쉽게 설정할 수 있도록 합니다. 다만, 민감한 정보를 담고 있는 .env 파일은 보통 .gitignore에 추가하여 버전 관리 대상에서 제외하는 것이 일반적입니다.

2. MySQL과 RDS 사용

강의에서는 docker-compose.yml 파일을 사용하여 MySQL을 도커 컨테이너로 관리하는 예를 보여주었는데, 만약 AWS RDS와 같은 관리형 데이터베이스 서비스를 사용한다면 도커 컨테이너로 MySQL을 구동할 필요가 없습니다. RDS는 이미 MySQL이나 다른 데이터베이스 서버를 관리해주기 때문에, 애플리케이션이 RDS 인스턴스의 연결 정보를 사용하여 데이터베이스에 접근하도록 설정하면 됩니다.

이와 관련하여 참고할 수 있는 게시물입니다:
- Docker Compose 및 CI/CD 배포 - docker-compose.yml 파일을 어떻게 CI/CD 파이프라인에 연동할 수 있는지에 대한 설명이 포함되어 있습니다.
- 도커 컴포즈로 여러 환경 관리하기 - 여러 환경에서 Docker Compose를 효율적으로 사용할 수 있는 방법이 상세히 설명되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

11 1님의 프로필 이미지
11 1

작성한 질문수

질문하기