2017-05-24 31 views
1

當我跑我的容器,它只是掛在下一行,如果我寫碼頭工人拒絕連接掛Django的

捲曲http://0.0.0.0:8000/

我得到

無法連接到0.0.0.0端口8000:連接拒絕

這是我dockerfile

FROM python:3.6.1 

# Set the working directory to /app 
WORKDIR /app 

# Copy the current directory contents into the container at /app 
ADD . /app 

RUN pip3 install -r requirements.txt 

CMD ["python3", "dockerizing/manage.py", "runserver", "0.0.0.0:8000"] 

我也試圖通過一個碼頭工人,compose.yml文件做這件事,並再次什麼也沒有發生,從來就搜查了很多,haven't找到了解決方法,這就是搬運工,撰寫.yml

version: "3" 
services: 
    web: 
    image: app1 
    deploy: 
     replicas: 5 
     resources: 
     limits: 
      cpus: "0.1" 
      memory: 50M 
     restart_policy: 
     condition: on-failure 
    ports: 
     - "8000:8000" 
    networks: 
     - webnet 
networks: 
    webnet: 

順便說一句,如果我運行MYAPP像搬運工PS我得到這個:

CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS    NAMES 
e9633657f060  app1    "python3 dockerizi..." 5 seconds ago  Up 5 seconds       friendly_dijkstra 

當我部署與Django的compose.yml和docker ps我得到的服務這樣的:

`MacBook-Pro-de-Jesus:docker-django Almaral$ docker ps 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS    NAMES 
13677a71d9d5  app1:latest  "python3 dockerizin..." 15 seconds ago  Up 11 seconds       getstartedlab_web.1.cq3zqmpfsii5g6m5r9qsnmtb1 
c6693118ef70  app1:latest  "python3 dockerizin..." 16 seconds ago  Up 12 seconds       getstartedlab_web.4.r472oh80s4zd1yymj447f1df6 
f3822e47970b  app1:latest  "python3 dockerizin..." 16 seconds ago  Up 12 seconds       getstartedlab_web.2.lkp43v9h30esjohcnf3pe31hi 
f66a4038ebdf  app1:latest  "python3 dockerizin..." 16 seconds ago  Up 12 seconds       getstartedlab_web.5.xxu01ruebd84tnlxmoymsu0vo 
e3d31c419c11  app1:latest  "python3 dockerizin..." 16 seconds ago  Up 13 seconds       getstartedlab_web.3.uqswgirmg22sjnekzmf5b4xo7` 
+0

你在運行docker的OS是什麼? – Alasdair

+0

嘗試'curl http:// localhost:8000'並向我們展示結果 – Robert

+0

它是macOS Sierra 10.12.4 –

回答

1

看來你還沒有打開了端口。

如果使用docker,則必須在主機和容器上指定端口號。

docker run -p 8000:8000 app1 

如果使用docker-compose你並不需要指定,因爲它是在配置文件中。

docker-compose up web 

您必須在主機上安裝docker-compose。這是一個python模塊, 因此你可以用pip安裝它pip install docker-compose

+0

謝謝你現在正在工作!!但是它僅僅適用於容器本身,它不能使用docker-compose.yml服務 –

+0

對於那些有同樣的問題,我不得不重新啓動mac和碼頭工作,我認爲這是一個碼頭錯誤 –

0

進入您的碼頭工人,撰寫配置文件,修改您的端口重定向:8000:8000127.0.0.1:8000:8000

+0

沒有這個,沒有什麼變化:( –

+0

好吧!嘗試刪除你的網絡設置到你的docker-compose配置文件('networks:webnet'等) 然後添加端口重定向修改。 重新啓動您的服務: 'docker-compose stop && docker-compose rm -f && docker-compose up -d' 然後發佈您的'docker ps'結果。 –

+0

我更新了我運行docker ps時得到的問題 –