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

nathan님의 프로필 이미지

작성한 질문수

풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]

section 6 질문(-v 사용)

24.05.29 22:06 작성

·

91

0

선생님 안녕하세요

좋은 강의 감사드립니다.

 

section 6, docker 주요 명령 익히기7 (컨테이너를 다루는 다양한 옵션) 강의 3:40초 부분에서 질문이 있습니다.

해당 부분은 -v 옵션을 사용해서 docker의 특정 폴더를 로컬(여기서는 aws ec2 서버)의 폴더와 연결한 모습을 보여주고 있는데요.

 

문제는. 저는 이 도커에 -v를 사용해서 로컬의 폴더와 연결한 적이 없다는 것입니다.

제가 "section 6, docker 주요 명령 익히기5" 에서 한 것은 httpd 이미지를 사용해서 만든 도커를 연결한 것이었고, "section 6, docker 주요 명령 익히기7"에서는 httpd:alpine 이미지를 사용해서 도커를 새로 만들었거든요.

 

도커를 새로 만들었음에도 불구하고, 이전에 연결해놓은 -v가 그대로 작동하는 것은 왜 그런것이죠?

답변 1

0

잔재미코딩 DaveLee님의 프로필 이미지

2024. 05. 30. 11:18

안녕하세요. 답변 도우미입니다.

제가 질문을 정확하게 이해한 것인지 살짝 자신이 없네요. 혹시라도 제가 답변이 잘못되었다면, dream@fun-coding.org 로 다시한번 상황을 상세히 문의 부탁드립니다. 제가 이해한 바를 기반으로 다음과 같이 답변드립니다.

도커에서 -v 옵션을 사용하여 로컬 폴더와 컨테이너의 폴더를 연결할 때, 이는 볼륨 마운트(volume mount)라고 불립니다. 이 과정에서 중요한 점은, 볼륨 마운트는 특정 컨테이너에 종속되는 것이 아니라, 도커 호스트 시스템의 특정 디렉토리와 컨테이너의 디렉토리를 연결한다는 것입니다.

이전에 section 6, docker 주요 명령 익히기5에서 httpd 이미지를 사용하여 생성한 컨테이너에서 -v 옵션으로 로컬 디렉토리를 컨테이너의 디렉토리에 마운트한 경우, 해당 디렉토리는 도커 호스트 시스템에 존재하게 됩니다.

따라서, section 6, docker 주요 명령 익히기7에서 httpd:alpine 이미지를 사용하여 새로운 컨테이너를 생성할 때, 동일한 -v 옵션을 사용하면 이전에 지정했던 로컬 디렉토리가 그대로 사용될 수 있습니다. 이는 도커 호스트의 디렉토리가 변경되지 않았기 때문입니다.

다시 말해, 새로운 컨테이너를 생성하더라도 동일한 로컬 디렉토리와 마운트 옵션을 사용하면, 이전 컨테이너와 동일한 로컬 디렉토리를 참조하게 되는 것입니다. 이는 도커의 볼륨 마운트가 호스트 시스템의 파일 시스템과 연동되기 때문에 가능한 일입니다.

감사합니다.

잔재미코딩 드림

nathan님의 프로필 이미지

작성한 질문수

질문하기