Docker bind mount d drive error
2023. 2. 9. 22:17ㆍDocker/Trouble Shoting
728x90
정리
해당 코드에서 bind mount 할때 git bash에서 root 경로를 git으로 설정하는(?) 오류 발생
해결 방안 : git bash -> powershell로 변경 (cmd 가능)
docker run -d -p 3000:80 --rm --name feedback-app -v feedback:/app/feedback -v "D:/WorkSpace/Docker/DockerAndCubernetes_udemy/section_3/data-volumes-01-starting-setup:/app" -v /app/node_modules feedback-node:volumes
1. 환경
- D 드라이브에서 작업
- git bash 사용
- os : window 10 home
- docker desktop
2. Dockerfile
FROM node:14
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
EXPOSE 80
CMD ["node", "server.js"]
3. 이미지 빌드
docker build -t feedback-node:volumes .
4. 컨테이너 run
docker run -d -p 3000:80 --rm --name feedback-app -v feedback:/app/feedback -v "D:/WorkSpace/Docker/DockerAndCubernetes_udemy/section_3/data-volumes-01-starting-setup:/app" -v /app/node_modules feedback-node:volumes
-> 익명볼륨 (-v /app/node_modules)를 추가 하였으나 npm install 관련 오류가 여전히 발생
5. 해결 과정
1) --rm 제거
docker run -d -p 3000:80 --name feedback-app -v feedback:/app/feedback -v "D:\WorkSpace\Docker\DockerAndCubernetes_udemy\sectiodn_3\data-volumes-01-starting-setup:/app" -v /app/node_modules feedback-node:volumes
-> 경로 문제로 의심
2) 경로 수정
- "D:\...:/app" -> $(pwd):/app
docker run -d -p 3000:80 --rm --name feedback-app -v feedback:/app/feedback -v $(pwd):/app -v /app/node_modules feedback-node:volumes
-> 동작

-> 이상한 파일 생성

3) 컨테이너 확인
docker inspect feedback-app

-> "Type" : "bind" 부분의 Source 및 Destination이 원하지 않은 경로로 지정됨
4) 컨테이너 내부 확인
docker exec -it feedback-app bash

-> 이상한 파일들이 많이 생겨있음
5) powershell 환경 테스트
- 정상 동작 확인
docker run -d -p 3000:80 --rm --name feedback-app -v feedback:/app/feedback -v "D:\WorkSpace\Docker\DockerAndCubernetes_udemy\section_3\data-volumes-01-starting-setup:/app" -v /app/node_modules feedback-node:volumes


- git bash가 자동으로 root 경로를 git으로 설정하는 듯 하다.