python - Docker中的端口映射

标签 python python-3.x docker pyramid dockerfile

我为示例python pyramid应用程序创建了一个docker。我的dockerfile是这样的:

FROM ubuntu:16.04

RUN apt-get update -y && \
    apt-get install -y python-pip python-dev curl && \
    pip install --upgrade pip setuptools

WORKDIR /app

COPY . /app

EXPOSE 6543

RUN pip install -e .

ENTRYPOINT [ "pserve" ]

CMD [ "development.ini" ]

我的构建命令是这样的:
docker build -t pyramid_app:latest .

我的运行命令是这样的:
docker run -d -p 6543:6543 pyramid_app

当我尝试访问http://localhost:6543时出现错误
Failed to load resource: net::ERR_SOCKET_NOT_CONNECTED

当我在机器内 curl 时,它可以正常工作。

如果有人可以帮助我弄清楚为什么我的端口映射不起作用,那将是很好的。

谢谢。

最佳答案

在您的Pserve配置中,更改

[server:main]
listen = 127.0.0.1:6543


[server:main]
listen = *:6543

否则,Web服务器将仅接受来自Docker容器本身的连接

关于python - Docker中的端口映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42008466/

相关文章:

python - 机器人框架通过按键更改表格单元格值

python - 如何编写一个接受包含整数元素的元组的函数?

python - Pandas 按预期 Str 实例分组,找到的 float

docker - Gitlab-ci 和 docker 组成 : tls handshake timeout

mysql - Docker-compose mysql 似乎无法识别环境变量 MYSQL_RANDOM_ROOT_PASSWORD

docker - 将主机端口上运行的应用程序公开给电磁阀

python - XML 转换成 JSON 返回对象失败

c++ - Arduino SHA1-HMAC 和 base64 编码与 Python 之间的对话问题

python - 在 Python 中计算稀疏 Gram 矩阵的最快方法是什么?

python - 返回条件语句