【问题标题】:can't open a page in a browser that is running in docker无法在 docker 中运行的浏览器中打开页面
【发布时间】:2020-10-29 07:44:17
【问题描述】:

我正在尝试打开 localhost:8000,但它不起作用。 当我输入 docker ps 时,它说容器很好

这是我的

docker-compose.yml

version: '3.7'

services:
  web:
    build: .
    command: gunicorn app:app
    volumes:
      - .:/usr/src/app/
    ports:
      - 8000:8000

Dockerfile

FROM python:3.8.3-alpine

WORKDIR /usr/src/app

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

RUN pip install --upgrade pip
COPY ./requirements.txt .
RUN pip install -r requirements.txt

COPY . /usr/src/app/

RUN chmod 755 entrypoint.sh

ENTRYPOINT ["sh", "/usr/src/app/entrypoint.sh"]

我的python入口点文件

def app(environ, start_response):
    response_body = b'Hello, world'
    status = '200 OK'
    start_response(status, headers=[])
    return iter([response_body])

还有entrypoint.sh文件

#!/bin/sh

gunicorn app:app

exec "$@"

项目结构:

/venv
app.py
docker-compose.yml
Dockerfile
entrypoint.sh
requirements.txt

【问题讨论】:

    标签: python docker


    【解决方案1】:

    根据docs,这是默认的host:port gunicorn绑定到:

    服务器套接字
    默认值:['127.0.0.1:8000']

    我建议在您的入口点以这种方式启动 gunicorn:

    gunicorn -b 0.0.0.0:8000 app:app

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      • 1970-01-01
      • 2012-04-21
      • 2022-08-21
      • 2018-02-01
      相关资源
      最近更新 更多