작성
·
1.3K
1
아래 질문은 해결했습니다.
VScode에서 bash가 아니라 window cmd로 하니까 되네요
혹시 bash에서도 유효한 volum 명령을 알 수 있을까요?
---------------------------------------------------------
이하 해결된 질문
---------------------------------------------------------
안녕하세요 강사님. Docker 강의 잘 듣고 있습니다.
Docker Volume 강의에 따라 실습 진행 중 에러가 발생하여 강사님의 도움을 받고 싶습니다. 참고로 윈도우 사용자이며 에디터는 Visual Studio Code, 쉘은 bash 사용하고 있습니다.
1. 윈도우 사용자 참고 자료에 따라 다음과 같이 명령어를 입력했을 때, invalid charcter error가 발생했습니다.
$ docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v %cd%:/usr/src/app gentlemj/nodejs
docker: Error response from daemon: create %cd%: "%cd%" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.
2. 아무래도 위의 에러가 %cd% 부분인거 같아서 -v $(pwd):/usr/src/app 로 바꿔서 재입력했습니다. 에러는 발생하지 않았지만 docker ps 입력하니 실행 중인 컨테이너가 없는 상태입니다.
3. 이후 docker run -p 5000:8080 gentlemj/nodejs ./ 입력하여 확인한 결과, 전에 발생하지 않았던 다음과 같은 에러가 발생합니다.
$ docker run -p 4000:8080 gentlemj/nodejs ./
/usr/local/bin/docker-entrypoint.sh: 8: exec: ./: Permission denied
4. Node.js 앱 만들기 카테고리의 첫 부분, 빌드 후 실행하는 부분에 따라 실습을 진행해도 docker ps에는 아무것도 잡히지 않습니다.
docker build -t gentlemj/nodejs ./
docker run -d -p 4000:8080 gentlemj/nodejs
5. 본 에러 해결 위해 docker ps -a -q, docker system prune 사용해서 모든 컨테이너 및 이미지 네트워크 삭제했지만 위의 에러는 해결되지 않습니다.
6. 강사님의 조언 및 도움을 바랍니다... 아래 gitbut 주소 첨부하였습니다.
답변 5
3
이제는 해결했으리라 생각합니다. 혹시 다른 수강생들이 같은 고민을 하고 있을까봐 정리를 잘해주셔서 여기에 댓글 남깁니다. window에서 명령어를 powershell 환경에서 한다면 %cd% 가 아닌 ${PWD}로 바꾸어 사용하니 저는 동작이 잘 됩니다. 여러 방법을 시도하시면서 이방법도 시도 하셔보는것도 좋을거 같습니다.
1
저도 비슷한 에러였는데 preference에서 설정 변경하니 해결됐습니다.
https://stackoverflow.com/questions/65245445/docker-error-response-from-daemon-mounts-denied-approving-path-to-file-does
1
안녕하세요 ^ ^
1번은
$ docker run -it -p 5000:8080 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app gentlemj/nodejs
이렇게 한번 해보시겠어요 ? 에러 로그를 봐야 할 것 같아요 ...
3번은 도커 이미지를 실행하는 부분이기에 ./ <= 마지막 이 부분은 빼주셔야 합니다
이렇게 디렉토리 부분 지정은 이미지를 생성할 때 넣어주시면 됩니다.
4번은 아마 에러가 있기 때문에 노드 서버를 실행하다 실행에 실패했을 가능성이 높습니다.
docker run -it gentlemj/nodejs 로 실행해보시면 에러 로그가 나올겁니다 ~ !
제가 봤을때는 이미지 빌드에서 뭔가 문제가 있었던것 같은데 ...
에러가 나면 다시 질문 부탁드릴게요
0
해당 문구 에러 같습니다. 윈도우에서는
$ docker run -it -p 5000:8080 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app gentlemj/nodejs 에서
$(pwd): 아닌 pwd:로 수정하여 입력하시면 정상작동 하실겁니다.
공유해주셔서 감사합니다 !!