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集装箱本身的连接