【问题标题】:Port mapping in DockerDocker 中的端口映射
【发布时间】:2017-02-02 17:20:54
【问题描述】:

我为示例 python 金字塔应用程序创建了一个 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

当我在机器内卷曲时,它工作正常。

如果有人能帮我弄清楚为什么我的端口映射不起作用,那就太好了。

谢谢。

【问题讨论】:

    标签: python python-3.x docker pyramid dockerfile


    【解决方案1】:

    在您的 pserve 配置中,更改

    [server:main]
    listen = 127.0.0.1:6543
    

    [server:main]
    listen = *:6543
    

    否则网络服务器将只接受来自 docker 容器本身的连接

    【讨论】:

    • 太棒了。那行得通。我做了一个小改动。放置主机:0.0.0.0。但是这个答案绝对是正确的。非常感谢
    猜你喜欢
    • 2017-08-05
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 2019-02-15
    • 2020-02-29
    • 2019-04-10
    • 2016-12-15
    相关资源
    最近更新 更多