2017-11-14 5 views
0

기본 장고 프로젝트가 있는데 도커를 통해 로컬로 실행하려고합니다. 나는 도커 파일을 가지고있다. 나는 도커 이미지를 만든다. 나는 도커 이미지를 실행했다. 그것은 실행,하지만 ... 여기있다가 고정 표시기 서버에 연결되지처럼 내 웹 페이지 내가 무엇을 화면에 오류를 보여줍니다도커 이미지가 실행 중이지만 웹 페이지 오류 - Docker

고정 표시기 파일 :

여기
FROM python:3 
WORKDIR general 
COPY requirements.txt ./ 
EXPOSE 8000 
RUN pip install -r requirements.txt 
COPY . . 
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] 

은 내가 얼마나입니다 buiding는이 프로젝트 실행 : 웹 페이지가 GI가

omars-mbp:split omarjandali$ docker ps 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS    NAMES 
fc14f03a18b0  splitbeta/testing2 "python manage.py ..." 3 seconds ago  Up 3 seconds  8000/tcp   loving_volhard 

입니다 : 여기

omars-mbp:split omarjandali$ docker build -t splitbeta/testing2 . 
Sending build context to Docker daemon 223.7kB 
Step 1/7 : FROM python:3 
---> 79e1dc9af1c1 
Step 2/7 : WORKDIR general 
---> 04a6f8a7f92a 
Removing intermediate container b2ffb485e485 
Step 3/7 : COPY requirements.txt ./ 
---> 649d77ec499e 
Step 4/7 : EXPOSE 8000 
---> Running in 7d8d6fe8de1d 
---> c328d885a5f1 
Removing intermediate container 7d8d6fe8de1d 
Step 5/7 : RUN pip install -r requirements.txt 
---> Running in 1c9aca43dc14 
Collecting Django==1.11.5 (from -r requirements.txt (line 1)) 
    Downloading Django-1.11.5-py2.py3-none-any.whl (6.9MB) 
Collecting gunicorn==19.6.0 (from -r requirements.txt (line 2)) 
    Downloading gunicorn-19.6.0-py2.py3-none-any.whl (114kB) 
Collecting pytz (from Django==1.11.5->-r requirements.txt (line 1)) 
    Downloading pytz-2017.3-py2.py3-none-any.whl (511kB) 
Installing collected packages: pytz, Django, gunicorn 
Successfully installed Django-1.11.5 gunicorn-19.6.0 pytz-2017.3 
---> 602e88557c8b 
Removing intermediate container 1c9aca43dc14 
Step 6/7 : COPY . . 
---> 55cff629cb51 
Step 7/7 : CMD python manage.py runserver 0.0.0.0:8000 
---> Running in efd75f8fb602 
---> 2cef664a626d 
Removing intermediate container efd75f8fb602 
Successfully built 2cef664a626d 
Successfully tagged splitbeta/testing2:latest 
omars-mbp:split omarjandali$ docker run -d spltibeta/testing2 

하면 프로젝트의 실행 이 템플릿 페이지를 표시하도록되어 때 ....

This site can’t be reached 

127.0.0.1 refused to connect. 

을 다음과 같은 오류를 ving 내가 어제 실행하지만 더 이상 작동하지 않습니다 있어요 ... 그 이유를 잘 모릅니다. 내 터미널

+0

확인 : 브라우저로 포트 8000에 연결하려고합니까? –

+0

예'120.0.0.1 : 8000/users'을 사용하고 있습니다. @ SörenWeber –

+0

나는 그것을 시도하고 똑같은 일을했습니다. 이것은 어제 일어나고 있었고 나는 그것이 작동하는 것을했지만, 어떻게 작동 하는지를 기억할 수 없다. –

답변

1

내 dockerhub 계정에 로그인하고

나는 당신의 도커 명령은 기본적으로 포트 8000을 게시하지 않습니다 실행할 것 아무것도 변경 didnt는, 고정 표시기는 호스트 시스템에있는 모든 컨테이너 포트를 게시하지 않습니다 당신이 그것을 명시 적으로 말하지 않으면. -p or --publish option of docker run 사용해보십시오 :

docker run -d -p 8000:8000 spltibeta/testing2 

또는 호스트 시스템에 컨테이너의 노출 된 모든 포트를 게시 할 -P 또는 --publish - 모든 옵션을 사용할 수 있습니다. 이렇게하면 호스트에 임의의 포트가 할당됩니다.

docker run -d -P spltibeta/testing2 
+0

나는 그것을 시도했고 그것은 똑같은 일을했다. 이것은 어제 일어나고 있었고, 나는 그것이 작동하는 것을했습니다. 그러나 나는 그것이 어떻게 작동 하는지를 기억하지 못합니다. –

+0

'omars-mbp : split omarjandali $ docker run --name splitbeta_test2 -t splitbeta_test2'라고 입력하지 않았습니다. 시스템 수행 중 ... 시스템 검사에서 아무런 문제가 없음을 알리는 메시지 (0 음절). 11 월 15 일, 2017 - 00:43:12 장고 버전 1.11.5, 'split.settings'설정 사용 http : //.0.0.0.0:8000/ 에서 개발 서버 시작 CONTROL-C로 서버 종료 어떤 측정은 서버가 실행되고 있지만 웹 페이지에서 나는 여전히 오류 메시지를받습니다. 왜 그런 일이 일어나는가 –

+0

나에게 그것은 포트가 호스트 시스템에 게시되지 않은 것처럼 보인다. 매핑 된 포트를 보려면 [docker 포트] (https://docs.docker.com/engine/reference/commandline/port/) 인수를 사용해보십시오. 어쩌면 이것은 힌트를 주는가? –