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

반가우면반갑다고해님의 프로필 이미지
반가우면반갑다고해

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

14-01 Trigger

선생님 근데 docker로 mysql 돌릴때 데이터는

해결된 질문

작성

·

153

0

데이터는 어디에 저장이될까요?

도커컨테이너에 저장이되는걸까요?

만약에 이 강의를 완강하고 제 컴퓨터로 서버를 만들어 돌린다고했을때 보통 데이터는 어디에 저장하는걸 추천하시나요?

  1. 도커컨테이너에 저장

  2. 하드디스크에 저장하고 주기적으로 aws s3에 업로더해준다.

답변 2

1

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! 반가우면반갑다고해님!

간단한 테스트용 서비스가 아닌 이상, Docker에 데이터를 추가 설정 없이 그냥 저장하시면 안됩니다!
Docker를 사용하시더라도, 해당 저장공간을 볼륨을 분리하여 따로 저장하실 수 있어요!
(이와 관련하여서는 Docker volumes를 더 학습해 보세요!)

 

하지만, 이렇게 하더라도 실제 내 컴퓨터가 고장나면...? 디스크가 망가지면...? 큰일나겠지요!
회원가입한 유저의 정보들과 게시글, 상품 등 데이터들이 모두 사라질 테니까요!
(과거에 이런 서비스들도 있었답니다...!)

 

위와같은 문제를 해결하기 위해서, 데이터를 여러 디스크에 백업(dump를 뜹니다)을 해두셔야 하는데요!
이런 모든 것들을 하려면 손이 많이 갑니다! 개발하기도 바쁜데 말이죠!


보통은 이런 모든 문제를 클라우드(aws, gcp 등)에서 해결해 주기 때문에 실무에서는 클라우드를 사용하는 것이 일반적이랍니다!
(클라우드에서 제공되는 데이터베이스(aws=>rds, gcp=>cloudSQL)를 사용하시면 자동 백업 시스템, 데이터를 안전하게 영구보관, 백업파일 다운로드, HA구성(컴퓨터 2개에 데이터 저장하고, 1개 정전 및 고장나면 다른 컴퓨터로 변경하여 서비스에는 문제 없도록하기) 등이 버튼 몇 번 클릭으로 가능하답니다.)

답변감사합니다!!

0

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

반가우면반갑다고해님, Docker로 MySQL을 돌릴 때 데이터 저장 위치는 Docker 컨테이너 내부에 저장되지만, 실제 운영 환경에서는 컨테이너가 재시작되거나 삭제될 때 데이터가 유실되는 문제를 방지하기 위해서 데이터 볼륨(Volume)을 사용해 외부에 데이터를 저장하는 것이 일반적입니다.

데이터 볼륨을 사용하면 Docker 호스트의 파일 시스템에 데이터를 저장할 수 있으므로, 컨테이너가 삭제되어도 데이터는 보존됩니다. AWS S3와 같은 외부 스토리지 서비스에 데이터를 주기적으로 백업하는 것도 좋은 방법입니다. 이런 접근 방법을 통해 데이터의 지속성과 안정성을 확보할 수 있습니다.

제공된 정보에 따라 직접적으로 Docker와 MySQL, 데이터 저장에 관한 설명은 없으므로, 일반적인 관행에 대해 설명드린 것임을 참고해주시기 바랍니다. 감사합니다.

반가우면반갑다고해님의 프로필 이미지
반가우면반갑다고해

작성한 질문수

질문하기