Inflearn brand logo image

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

hantrust87님의 프로필 이미지
hantrust87

작성한 질문수

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

[실습] Docker로 MySQL 실행시켜보기 - 4

도커불륨 mysql_data

작성

·

26

·

수정됨

0

이것저것 해보다 궁금한게 있습니다 ㅇㅅㅇ

로컬에서 볼륨 디렉토리가 없을때

컨테이너에서 볼륨 데이터를 덮어쓰는것 까지 이해를했는데요. 강의에서 볼륨 mysql_data로 설정을 해주잖아요. 그래서 컨터이너의 볼륨의 데이터들이 로컬에서 mysql_data 디렉토리를 만들고 그 데이터들이 호스트의 mysql_data에

들어가는데 여기서 궁금합니다.

 

컨테이너에는 mysql_data 디렉토리는 보이지 않는데 컨테이너 입장에서는 어디에서 로컬과 연결된 볼륨의 디렉토리 위치을 어떻게 할 수 있을까요. ㅇㅅㅇ;;

 

답변 2

0

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

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

질문해주신 내용에 대해 차근차근 설명드려 볼게요 !!

 

"컨테이너에는 mysql_data 디렉토리는 보이지 않는데 컨테이너 입장에서는 어디에서 로컬과 연결된 볼륨의 디렉토리 위치을 어떻게 알 수 있을까요?"

-> 우선 말씀하신 대로 컨테이너 안에서는 mysql_data 디렉토리가 보이지 않는 게 맞아요!

컨테이너 내부에서는 /var/lib/mysql만 보여요 !

MySQL 컨테이너는 /var/lib/mysql 경로에 데이터를 저장하며,

컨테이너 입장에서는 그냥 /var/lib/mysql이라는 일반적인 디렉토리로 보여요 ~

 

하지만 Docker가 중간에서 마술처럼 동작해요 !

"-v {호스트의 절대경로}/mysql_data:/var/lib/mysql "를 통해

[Docker]가 "컨테이너의 /var/lib/mysql에 쓰는 모든 데이터를

호스트의 ./mysql_data로 연결해줘"라고 설정을해요 !

그래서 컨테이너 내부에서는 mysql_data라는 디렉터리는 보이지 않았던 겁니다!

 

여기서 이해 안 되시는 점 있으시면 편하게 또 질문 남겨주세요~~

0

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

Docker에서 MySQL 컨테이너와 볼륨을 사용하는 과정에 대해 질문 주셨네요. Docker의 볼륨은 호스트와 컨테이너 간 데이터를 공유하고 유지하기 위한 중요한 도구입니다.

Docker 볼륨의 동작 방식

  1. 볼륨 설정 및 데이터 마운트:

    • Docker 명령어에서 -v 옵션을 사용하여 호스트의 디렉토리를 특정 컨테이너 내부 경로에 마운트합니다. 예를 들어, -v /호스트경로:/컨테이너경로 형태로 설정할 수 있습니다.
  2. 컨테이너와의 연계:

    • 컨테이너 내부에서는 이 호스트의 디렉토리가 마치 컨테이너 자체의 파일 시스템 일부인 것처럼 동작합니다. 컨테이너에서 이 경로에 access 할 때, 실제로는 호스트의 경로를 참조하는 것이지요.
    • 이로 인해, 컨테이너가 종료되어도 마운트된 디렉토리는 호스트에 남아 지속적으로 데이터를 저장할 수 있게 됩니다.
  3. 컨테이너 내부의 볼륨 확인:

    • 컨테이너 내부에서 mysql_data 라고 지정한 디렉토리가 보이지 않는 대신, 보통 /var/lib/mysql 같은 경로에 호스트의 데이터가 마운트됩니다. 이 경로를 탐색해 보면 실제 데이터 파일들이 저장되어 있는 것을 확인할 수 있습니다.

컨테이너 입장에서는 지정된 마운트 지점을 통해 볼륨이 마운트된 위치를 알 수 있으며, 지정된 디렉토리로 접근 시 호스트와 공유되는 데이터를 자동으로 읽고 쓸 수 있습니다.

도움이 되셨기를 바라며, 비슷한 주제를 다룬 관련 질문 링크도 소개드립니다:
- 디렉토리를 만들고 -v 옵션 사용 시: 볼륨 마운트를 활용해 데이터를 공유하는 방법에 대해 자세히 설명합니다.

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

hantrust87님의 프로필 이미지
hantrust87

작성한 질문수

질문하기