[Docker] Docker Volume(볼륨)을 이용해 빌드 없이 소스 코드 반영하기
2023. 4. 14. 16:59ㆍdocker
COPY할 경우 소스코드 변경 할 때마다 이미지를 변경(빌드)해야 했습니다.
Volume은 도커 컨테이너의 부분들이 로컬의 있는 부분을 반대 반향으로 참조(Mapping)하고 있습니다.
Volume을 이용해 어플리케이션 실행하는 법
docker run -p 5000:8080 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app <이미지 아이디>
-v /usr/src/app/node_modules
호스트 디렉토리(로컬 or EC2같은 컴퓨터)에 node_modules은 없기에 컨테이너에 매핑을 하지 말라고 하는 것
-v $(pwd):/usr/src/app
pwd (현재 작업 중인 디렉토리. print working directory) 경로에 있는 디렉토리 혹은 파일을 /usr/src/app 경로에서 참조.
WORKDIR 경로를 참조해서 매핑시킵니다.
장점
이렇게 Volume을 이용해서 키면 빌드할 때 소스 코드를 바꾸더라도 바꾼 코드가 적용 됩니다.
COPY는 이미지를 빌드하고 run해줘야 반영이 되는데 프로세스 죽이고 다시 띄우면 적용됩니다.
'docker' 카테고리의 다른 글
[Docker] docker compose 이용해서 node.js , redis 애플리케이션 띄우기 (0) | 2023.04.15 |
---|---|
[Docker] node.js 애플리케이션 도커로 만들기 (0) | 2023.04.13 |
[Docker] 도커 이미지 직접 만들기 (0) | 2023.04.12 |
[Docker] Docker 실행 중인 컨테이너에서 터미널로 접근하기 (0) | 2023.04.12 |
[Docker] Docker 레디스(redis)로 띄우기 (0) | 2023.04.12 |