Почему Django в Docker контейнере не работает? - PullRequest
0 голосов
/ 01 мая 2018

Dockerfile:

FROM python:3.6.5-jessie
MAINTAINER example-user

RUN apt-get update \
    && apt-get install -y vim
RUN mkdir require
COPY ./requirements.txt require/requirements.txt
RUN pip install -r require/requirements.txt
EXPOSE 8000

requirements.txt

Django==2.0.2

Как и выше, я сделал изображение с именем sample-image

Далее я запустил контейнер из sample-image вроде

docker run -ti --name sample_django -p 8001:8000 sample-image /bin/bash

А на контейнере Баш я приказал вроде

root@4a947abf5ce5:/# mkdir startdir && cd startdir
root@4a947abf5ce5:/startdir# django-admin startproject sample .
root@4a947abf5ce5:/startdir# python manage.py runserver

вернул его:

Performing system checks...

System check identified no issues (0 silenced).

You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

May 01, 2018 - 12:44:45
Django version 2.0.2, using settings 'sample.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Поскольку я установил -p 8001: 8000 на работающем контейнере, я нашел эту страницу в браузере (127.0.0.1:8080), но он вернул ее:

enter image description here

ВОПРОС: Как правильно установить порт на контейнере? Или я что-то пропустил?

1 Ответ

0 голосов
/ 01 мая 2018

Внутри док-контейнера используйте python manage.py runserver 0.0.0.0:8000, чтобы runserver не просто связывался с 127.0.0.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...