-
docker로 django 서버 띄우기Web Programming/Back End 2021. 10. 25. 18:24
TLDR
build dockerfile with below code
ENTRYPOINT [ "python3", "manage.py", "runserver", "0.0.0.0:8000"]
run docker with below script
docker run --rm -t -p 8000:8000 <image-name>:<tag>
시행착오
django
로 만든 웹 앱을 dockerize하는 과정을 진행했다.
내가 만든dockerfile
은 아래와 같았는데, 실행하면 localhost로 접근이 안됐다.FROM python:3.8 ENV SRC_DIR='/workspace' ENV SECRET_KEY='%$=rdc5mxoz96)zd#kn#e*fza-b%scx2&0fd6=3v5z+ii_zn(0' EXPOSE 8000 COPY . ${SRC_DIR} WORKDIR ${SRC_DIR} RUN pip3 install -r requirements.txt WORKDIR ${SRC_DIR}/mailproject RUN python3 ./manage.py makemigrations RUN python3 ./manage.py migrate RUN python3 ./manage.py shell < ./init.py ENTRYPOINT [ "python3", "manage.py", "runserver"]
참고로 django secret은 Djecrety에서 생성했다.
그러나 실행한 웹앱에 127.0.0.1로 접근이 되지 않았다.
ENTRYPOINT [ "python3", "manage.py", "runserver", "0.0.0.0:8000"]
그리고 docker를 실행할 때 아래와 같이 실행하면 된다.
docker run --rm -t -p 8000:8000 <image-name>:<tag>
실행할 때
--network
에"host"
를 추가해줬는데, 접근이 되지 않아서 제외하고 실행했다. (왜 안되는지에 대해서는 알아보지 않았다.)
References
'Web Programming > Back End' 카테고리의 다른 글
[번역] Pulumi는 무엇일까? (0) 2021.10.25 Remove docker image (0) 2021.10.25 Docker 용량 관리 (0) 2021.10.25 Django 첫 프로젝트 회고 (0) 2021.10.25 AWS Lambda logging 잘남기기 (0) 2021.10.25