inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

Docker Volume에 대하여

Volume 관련 질문입니다.

355

hoeminj

작성한 질문수 1

1

docker run -v /usr/src/app/node_modules -v %cd%:/usr/src/app <이미지 아이디>

이 명령에서 '매핑해라'와 '매핑하지 말라'의 차이가 정확하게 어떤건지 궁금합니다. -v라는 같은 옵션을 주는 것으로 보이는데 어떻게 알아서 구분하나요?? 단순히 node_modules폴더가 디렉토리에 없어서 그런건가요? 만약 node_modules가 호스트 디렉토리에 있으면 그냥 참조하나요?

docker

답변 1

1

인프런 AI 인턴

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

Docker에서 볼륨을 사용할 때 -v 혹은 --volume 플래그는 호스트와 컨테이너 간의 디렉토리나 파일을 공유하기 위해 사용됩니다. -v 옵션 뒤에는 호스트_경로:컨테이너_경로 형식으로 경로를 지정하는데, 여기서 호스트 경로 또는 컨테이너 경로를 생략할 수도 있습니다.

docker run -v /usr/src/app/node_modules -v %cd%:/usr/src/app <이미지 아이디> 명령어에서 두 가지 -v 옵션을 보면:

  1. 첫 번째 -v /usr/src/app/node_modules는 컨테이너 내부의 /usr/src/app/node_modules 디렉토리를 볼륨으로 지정하지만, 호스트 경로가 지정되지 않았습니다. 이 경우, Docker는 해당 볼륨을 데이터 볼륨으로 처리하고, 호스트의 파일 시스템과는 독립적으로 데이터를 유지하게 됩니다. 즉, 호스트의 node_modules 디렉토리와 매핑하지 않으며, 컨테이너에 이미 존재하는 node_modules를 사용하거나 새로 생성하기만 합니다.

  2. 두 번째 -v %cd%:/usr/src/app는 현재 디렉토리(%cd%)를 컨테이너의 /usr/src/app과 매핑합니다. 이는 호스트의 현재 작업 디렉토리를 가리키며, 이 디렉토리와 컨테이너 내부의 /usr/src/app 디렉토리가 동기화되어 상호 공유됩니다.

따라서, 이 명령은 /usr/src/app/node_modules는 컨테이너에만 남기고(호스트와 매핑되지 않음), 나머지 /usr/src/app의 내용은 호스트와 매핑하여 사용하라는 의미가 됩니다. 만약 호스트 디렉토리에 node_modules가 존재한다 하더라도 첫 번째 -v 옵션은 그것을 참조하지 않도록 설정됩니다.

0

hoeminj

완전하게 이해했습니다. 감사합니다 🙂

Docker Containers간 통신 할 때 나타나는 에러 강의 질문

0

80

1

WINDOW + Vite를 사용하여 소스 코드 변경이 반영되지 않는 현상

0

79

1

도커 컨테이너 끼리 SSL 통신 시 문제가 생깁니다..

0

216

1

도표 강의 자료 사용이 불가합니다. (권한 문제)

0

136

1

Docker compose 관련 공유

0

142

1

트레비스가 유료화가 되어 테스트가 어려워 챕터8에서 고민중입니다.

0

79

1

강사님 혹시 vscode 어떤 테마 쓰시나요..?

0

285

1

The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist.

0

105

1

travis ci가 이제 유료화가 된 것 같습니다;;;

0

210

2

docker-compose up 에러 공유 드립니다

0

291

1

Elastic Beanstalk에서 도메인 클릭시 react 이미지가 안나오고 다른 화면이 나오는데

0

170

1

도커 빌드 시간이 너무 오래걸려요..

0

1062

2

docker-compose down 이후에도 containers에 redis가 남아 있는 이유

0

168

1

도커 볼륨이 작동이 안되는것 같아서 질문드립니다!

0

213

2

docker-compose 가 Docker Desktop 에서 빠진건가요? command not found 라고 뜨네요

0

279

1

Error response from daemon: The system cannot find the file specified.

0

220

1

draw.io 오류

0

650

1

Docker Volume 오류(reference, lowercase)

0

564

1

[섹션3 - 내가 만든 이미지 기억하기 쉬운 이름 주기] 네이밍/태그 에러

0

226

1

axios오류 문의드립니다!

0

334

1

node.js version

0

485

1

안녕하세요 마지막 강의 질문 있습니다.

0

435

1

Deploy를 계속 실패합니다.

3

1383

4

TravisCI에서 계속 에러가 납니다....

0

358

1