작성
·
463
·
수정됨
0
안녕하세요 강사님! 파이썬 3.10 이상인 상태로 배포를 하려합니다! 배포를 하는 도중
AttributeError: module 'collections' has no attribute 'Callable'
가 발생하여 보니 pydenticon 에러였습니다.
이런 경우는 컨테이너 안에서 수정을 해야할 것 같아서
docker run -it <이미지 이름> /bin/bash
으로 수정 후 docker commit을 진행했습니다.하지만 이 경우, 문제가 생기는데
docker run --rm --publish 9000:8000 -it <이미지이름> sh
를 실행하여, python3 manage.py runserver 0.0.0.0:8000 을 직접 실행해줘야만 하는 번거로움이 있었습니다.
혹시 이를 해결하기 위한 방법이 있는지 알고싶습니다.
감사합니다.
답변 1
0
안녕하세요.
유사 질문이 있었는 데요. 아래의 질답을 참고해보시겠어요?
AttributeError: module 'collections' has no attribute 'Callable' 에러 처리 방법 - 인프런 | 질문 & 답변 (inflearn.com)
참고해보시고, 댓글 부탁드립니다.
화이팅입니다. :-)
굳이 docker commit을 하시기보다, 소스코드 원본에서 변경을 하시는 것이 변경내역 관리를 일원화하실 수 있으실 듯 합니다.
--
docker run -it <이미지 이름> /bin/bash 명령 시에 기존 CMD가 무시되고 /bin/bash로 실행되어, docker commit 후에 다시 run할 때 CMD가 /bi/bash로 실행된 듯 보입니다.
docker run 시에는 /bin/bash 를 붙이지마시고 컨테이너를 띄워두신 후에
다른 터미널에서 docker exec 명령으로 앞선 컨테이너에 붙어서 작업을 하신 후에
docker commit을 하시면 CMD가 변경되지 않으니 생각하신 대로 동작하실 듯 합니다.
살펴보시고 댓글 남겨주세요. :-)
감사합니다!
collections 에러는 해결했는데, 이미지로 만든 후, 컨테이너 실행 중에 나타나서 질문 드립니다. 컨테이너 자체를 수정 후에 docker commit <컨테이너ID>하여 이미지로 다시 만들었는데 그 후에는 컨테이너가 실행되면 바로 종료됩니다..