작성
·
26
·
수정됨
0
이것저것 해보다 궁금한게 있습니다 ㅇㅅㅇ
로컬에서 볼륨 디렉토리가 없을때
컨테이너에서 볼륨 데이터를 덮어쓰는것 까지 이해를했는데요. 강의에서 볼륨 mysql_data로 설정을 해주잖아요. 그래서 컨터이너의 볼륨의 데이터들이 로컬에서 mysql_data 디렉토리를 만들고 그 데이터들이 호스트의 mysql_data에
들어가는데 여기서 궁금합니다.
컨테이너에는 mysql_data 디렉토리는 보이지 않는데 컨테이너 입장에서는 어디에서 로컬과 연결된 볼륨의 디렉토리 위치을 어떻게 할 수 있을까요. ㅇㅅㅇ;;
답변 2
0
안녕하세요 ! 질문 잘해주셨어요 ~
질문해주신 내용에 대해 차근차근 설명드려 볼게요 !!
"컨테이너에는 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의 볼륨은 호스트와 컨테이너 간 데이터를 공유하고 유지하기 위한 중요한 도구입니다.
볼륨 설정 및 데이터 마운트:
-v
옵션을 사용하여 호스트의 디렉토리를 특정 컨테이너 내부 경로에 마운트합니다. 예를 들어, -v /호스트경로:/컨테이너경로
형태로 설정할 수 있습니다.컨테이너와의 연계:
컨테이너 내부의 볼륨 확인:
mysql_data
라고 지정한 디렉토리가 보이지 않는 대신, 보통 /var/lib/mysql
같은 경로에 호스트의 데이터가 마운트됩니다. 이 경로를 탐색해 보면 실제 데이터 파일들이 저장되어 있는 것을 확인할 수 있습니다.컨테이너 입장에서는 지정된 마운트 지점을 통해 볼륨이 마운트된 위치를 알 수 있으며, 지정된 디렉토리로 접근 시 호스트와 공유되는 데이터를 자동으로 읽고 쓸 수 있습니다.
도움이 되셨기를 바라며, 비슷한 주제를 다룬 관련 질문 링크도 소개드립니다:
- 디렉토리를 만들고 -v 옵션 사용 시: 볼륨 마운트를 활용해 데이터를 공유하는 방법에 대해 자세히 설명합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.