Docker容器中Django上的“dockercompose运行web”未在本地主机上运行网站

2024-06-06 23:02:20 发布

您现在位置:Python中文网/ 问答频道 /正文

Dockerfile

FROM python:3.7
FROM registry.gitlab.com/datadrivendiscovery/images/primitives:ubuntu-bionic-python36-v2020.1.9

ENV PYTHONUNBUFFERED 1

RUN mkdir /bbml

WORKDIR /bbml
RUN pip install -r requirements.txt
RUN pip install --upgrade pip
ADD . /bbml/

CMD [ "python", "./manage.py runserver 0.0.0.0:8800" ]

docker-compose.yml

version: '3'

services:
  web:
    build: .
    command: "python3 manage.py runserver 0.0.0.0:8800"
    container_name: bbml
    volumes:
      - .:/bbml
    ports:
      - "8800:8800"

所以我通过执行“docker compsoe run web”并在底部执行标准的“Starting development server”(启动开发服务器)消息,成功地使其正常运行,但当我转到localhost:8800时,它会显示“无法访问站点”。发生什么事了


Tags: installpipdockerrunfrompydockerfilecom
2条回答

我发现了问题。Docker将在您实际需要转到的端口上运行:8800,而不是本地主机:8800

Dockerfile

FROM python:3
FROM registry.gitlab.com/datadrivendiscovery/images/primitives:ubuntu-bionic-python36-v2020.1.9

ENV PYTHONUNBUFFERED 1
RUN mkdir /bbml
WORKDIR /bbml
COPY requirements.txt /bbml/
RUN pip install -r requirements.txt
COPY . /bbml

docker-compose.yml

version: '3'

services: 
    web:
        build: .
        command: python manage.py runserver 0.0.0.0:8000
        container_name: bbml
        volumes: 
            - .:/app
        ports: 
            - "8000:8000"

检查文件夹权限并运行:

sudo docker-compose up

相关问题 更多 >