Docker bind mount d drive error

2023. 2. 9. 22:17Docker/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으로 설정하는 듯 하다.