не удалось получить доступ к Django проекту через Docker Создать - PullRequest
0 голосов
/ 17 февраля 2020

Я создал простой файл Docker для проекта DJango, и когда я запускаю docker run, я могу получить доступ через браузер.

docker run -p 8000: 8000 s3bucket -ms: 1

Вот файл Docker:

FROM python:3.6.7-alpine
ENV PYTHONUNBUFFERED 1
COPY ./requirements.txt /requirements.txt
RUN pip install --upgrade pip
RUN apk update \
    && apk add postgresql-dev gcc python3-dev musl-dev
RUN pip install -r requirements.txt
RUN mkdir /app
WORKDIR /app
ADD ./s3bucket /app/
EXPOSE 8000
CMD ["python", "./manage.py", "runserver", "0.0.0.0:8000"]

Однако, когда я использую Docker Compose, я не могу получить доступ к проекту через браузер.

Вот docker -compose.yml

version: '3'

services:
  web:
    build: .
    command: python ./manage.py runserver 8000
    ports:
      - "8000:8000"

С Docker Compose, я также прокомментировал CMD в файле Docker. Вывод из Docker Составить UP

web_1  | Run 'python manage.py migrate' to apply them.
web_1  | February 17, 2020 - 14:29:22
web_1  | Django version 3.0.3, using settings 's3bucket.settings'
web_1  | Starting development server at http://127.0.0.1:8000/
web_1  | Quit the server with CONTROL-C.

Я что-то упустил? Любая помощь приветствуется. Спасибо,

1 Ответ

0 голосов
/ 17 февраля 2020

Добавить EXPOSE 8000 в ваш Dockerfile

Обновление1 :

С docker выполнить

docker run \
    -v /path/to/s3bucket:/app \ # absolute path
    -p 8000:8000 \
    s3bucket-ms:1

С docker -композицией

version: '3'

services:
  web:
    build: .
    command: python ./manage.py runserver 8000
    volumes:
      - /path/to/s3bucket:/app # absolute path
    ports:
      - "8000:8000"

Больше информации о https://docs.docker.com/storage/volumes/

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