我已经构建了一个包含简单Flask测试应用程序的Docker镜像:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Hello World!"
if __name__ == "__main__":
app.run(debug=True,host='0.0.0.0')
使用
Dockerfile
文件:FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY . /app
WORKDIR /app
RUN pip install -r /app/requirements.txt
ENTRYPOINT ["python"]
CMD ["app.py"]
Docker 镜像是通过命令
docker build -t flask-app .
构建的,现已成功创建:$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
flask-app latest fab0d79fd7ac 8 minutes ago 642.2 MB
ubuntu latest 104bec311bcd 5 weeks ago 129 MB
我已经使用以下方式运行它:
$ docker run -d -p 5000:5000 flask-app
e92b249dd02ca44489069b783fa9be713c7a14ea893061194e37c80f16d8c931
我假设可以通过将浏览器指向http://localhost:5000/
来测试应用程序,但是我遇到了超时。可能出了什么问题?
docker logs flask-app-test
shows* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger pin code: 236-035-556
, but$ docker exec -ti bash flask-app-test
showsError response from daemon: No such container: bash
- srmdocker-exec
命令是docker exec -ti flask-app-test bash
。现在会编辑答案。 - Cristian Baldicurl http://0.0.0.0:5000/
命令,但是返回了以下错误信息:curl: (7) Failed to connect to 0.0.0.0 port 5000: Connection refused
。 - srm