عامل الميناء لا يمكن الوصول إلى خادم الويب على المضيف

أحاول إعداد الثعابين جانغو داخل بيئة مرسى

دوكيرفيل

FROM python:3.5-slimENV PYTHONUNBUFFERED 1RUN mkdir /codeRUN pip install --upgrade pipWORKDIR /codeADD requirements.txt /code/RUN pip install -r requirements.txtADD . /code/EXPOSE 8000

أنا بناء هذا ل django-app.

عامل الميناء-يؤلف.يمل

django:  container_name: django  image: django-app:latest  ports:    - "8000:8000"  volumes:    - ./config/startup.sh:/startup.sh    - ./app:/code  command: /bin/sh /startup.sh

startup.sh

#!/bin/shcd /codedjango-admin.py startproject djagentoecho "Creating Project djagento"cd djagentopython manage.py runserver

أنا باستخدام أوبونتو 14.04 لتس كنظام المضيف بلدي

docker exec -it django bash $curl 127.0.0.1:8000 هو سوكيسفول.

أنا الحصول على إب من حاوية بلدي مع docker inspect django

    "Gateway": "172.17.0.1",    "IPAddress": "172.17.0.2"

ولكن عند محاولة curl 172.17.0.1:8000 أو curl 172.17.0.2:8000 أو حليقة 127.0.0.1:8000 أنا لست قادرا على الحصول على أي شيء ولكن إعادة تعيين الاتصال

تحرير

docker psbaada462ae72        django-app:latest   "/bin/sh /startup.sh"   6 seconds ago       Up 5 seconds        0.0.0.0:8005->8000/tcp   django

* على منفذ آخر ، نفس النتيجة *

CONTAINER ID        IMAGE               COMMAND                 CREATED              STATUS              PORTS                    NAMESa9d99ee563e5        django-app:latest   "/bin/sh /startup.sh"   About a minute ago   Up About a minute   0.0.0.0:8005->8000/tcp   django

شكرا

لأي شخص يتعثر على هذا ، لديك لتشغيل خادم جانغو على 0.0.0.0: 8000 داخل حاوية عامل الميناء ، ببساطة إضافة python django-admin runserver 0.0.0.0:8000 في بلدي startup.sh إصلاح هذا بالنسبة لي

هل هناك أي شيء آخر على جهازك باستخدام المنفذ 8000? حاول تغيير المنفذ إلى 8005 أو 9005 إلخ على الجهاز المضيف. أميل إلى الكراهية باستخدام نفس المنفذ بشكل عام فقط بسبب الارتباك الذي يسببه أحيانا.

في استخدام دوكيرفيل الخاص بك

ports:   - '8005:8000'

المثال.

بعد:

  • تشغيل عامل الميناء-يؤلف - د
  • تشغيل عامل الميناء بس
  • >معرفة ما إذا كنت ترى0.0. 0. 0: 8005-8000 / تكب للحاوية تحت الموانئ.

ثم حاول الشباك على الملكية الفكرية على المنفذ 8005.

إذا كان هذا لا يزال لا يعمل تحقق إيبتبلس الخاص بك على الحاوية الخاصة بك. هل تخوض ميناء 8000 إلى المحلية فقط عن طريق الصدفة?