【发布时间】:2019-01-09 09:43:25
【问题描述】:
我有一个 Flask 服务器在 8090 端口上运行
...code of the Flask server...
app.run(host='0.0.0.0', port=8090, debug=True)
然后我的 Dockerfile 如下:
FROM ubuntu
WORKDIR home
MAINTAINER Califfo
# copy files into the image
ADD files /home/files
ADD ServerCategory.py /home
ADD requirements.txt /home
# install python3, pip and Flask
RUN apt-get update && apt-get install -y python3 python3-pip net-tools lsof && pip3 install -r requirements.txt
# launch flask server
RUN python3 ServerCategory.py flask run
当我使用此命令构建映像并运行容器时
docker build -t server_category . && docker run -p 8090:8090 -it --rm server_category
一切正常。
- 在http://0.0.0.0:8090/ 上运行(按 CTRL+C 退出)
- 使用 stat 重启
- 调试器已激活!
- 调试器 PIN:280-257-458
但我无法从浏览器连接到服务器,例如使用 localhost:8090/。 我收到此错误
Error: Couldn't connect to server
【问题讨论】:
-
它是否在容器内工作?试试
docker exec <container-name> wget http://localhost:8090。 -
您的 Dockerfile 中没有声明
entrypoint或cmd。当您启动容器时,它会立即关闭。将上一个RUN命令更改为CMD python3 ServerCategory.py flask run并重试。 -
@nauer 您应该考虑将此评论作为更详细的答案:)
标签: python-3.x docker flask