Vagrant(Ubuntu) + Docker + Django로 개발용 서버 시작까지 간다
발생한 문제
Django의 개발 환경을 Docker로 만들어 보았다.
여기를 참고로 환경 구축하고 있으면 막혔으므로, 보충의 기사를 만들었습니다.
내 환경
원인 및 해결 방법
Django의 개발 환경을 Docker로 만들어 보았습니다.
마지막 「개발용 서버 기동」까지는, 이 기사대로 진행할 수 있었습니다.
마지막으로, 개발 서버 시작 절차
docker exec test python3 manage.py runserver 0.0.0.0:8000
나중에 브라우저에서
localhost:8000
에 액세스하면 실패합니다.원인 1: Vagrantfile의 guest 포트와 host 포트의 설정이 이상하다
config.vm.network "forwarded_port", guest: 8000, host: 12345
host측(Windows)에서 12345의 포트를 사용해, guest측(ubunts)의 8000에 연결하는 것이라고 생각합니다. 따라서 브라우저에서 액세스할 때 포트 지정은 12345여야 합니다.
원인 2: 컨테이너 시작 시 지정하는 포트와 WEB 서버 시작 시 지정하는 포트가 일치하지 않음
이전 기사에서는 이런 식으로 컨테이너를 시작했습니다.
$ docker run -itd -p 127.0.0.1:8000:8000 -v /path/to/src:/code --name test django
이 때의
-p 127.0.0.1:8000:8000
는, 우분투측의 포트 8000과 컨테이너측의 포트 8000을 연결해, 라고 하는 것이라고 생각합니다.아까 정도의 원인 1에서 Vagrantfile 내에서 guest측(Ubunts)은 8000을 사용하라고 설정했으므로, 컨테이너 기동시의 지정에도 Ubuntu는 8000을 사용하려고 할 필요가 있습니다.
또한 원래 기사에서는 이런 식으로 Django와 함께 제공되는 웹 서버를 시작했습니다.
$ docker exec test python3 manage.py runserver 0.0.0.0:8000
위에서 컨테이너 시작시 컨테이너 측은 8000을 사용하겠다고 지정했으므로 컨테이너 측에서 장고의 웹 서버가 사용하는 것은 8000이어야합니다.
그림으로 하면 아마 이런 느낌입니다.
액세스 확인
http://localhost:12345
이상입니다. 빙글빙글.
Reference
이 문제에 관하여(Vagrant(Ubuntu) + Docker + Django로 개발용 서버 시작까지 간다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/PrivateUeno/items/8cfddc3ebe510eb6224d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)