Docker中的端口映射

我创build了一个示例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" ] 

我的构build命令是这样的:

 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时,它工作正常。

如果有人能帮我弄清楚为什么我的端口映射不起作用,这将是非常好的。

谢谢。

在你的pserveconfiguration中,改变

 [server:main] listen = 127.0.0.1:6543 

 [server:main] listen = *:6543 

否则Web服务器将只接受来自docker集装箱本身的连接