无法从我的主机访问我的dockerized flask
服务器。
服务器正在0.0.0.0:5000
上运行,并且Dockerfile指定了EXPOSE 5000
,但是我仍然无法使用curl 127.0.0.1:5000/endpoint
[curl: (7) Failed to connect to 127.0.0.1 port 5000: Connection refused
]来访问它
。直接在主机上运行服务器时,可以使用相同的curl
命令来访问它...
Dockerfile
FROM alpine:latest
COPY requirements.txt server.py ./
RUN apk add python3 && \
apk add py3-pip && \
pip install -r requirements.txt
EXPOSE 5000
CMD ["python3", "server.py"]
~
server.py
...
if __name__ == '__main__':
app.run(
host='0.0.0.0',
port=5000,
)
答案 0 :(得分:1)
在运行容器实例时,您可能未绑定端口5000。请记住,EXPOSE
不会在运行容器时自动绑定端口,这只是应该公开的内容的提示。