1.首先准备一个小型的flask应用,以下。够简单吧!注意本次部署没有涉及到数据库及nginx代理等,实际状况下,应该是将这些服务部署到不一样的服务器中。html
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return app.send_static_file('index.html') if __name__ == '__main__': app.run()
<!-- index.html文件内容 --> <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Index</title> </head> <body> <h1>hello world!</h1> </body> </html>
2.在项目目录下建立并编写Dockerfile文件,名字不能错啊。因为这个flask应用涉及的python包比较少,就没有制做requirements.txt文件。如下是项目目录结构与Dockerfile文件的内容:python
FROM python:3.8 WORKDIR /flask_test COPY flaskapp . RUN pip install flask gunicorn gevent EXPOSE 5000 CMD gunicorn -w 2 app:app
3.shell终端cd到flask_test目录下,首先执行建立镜像命令。建立成功后,根据镜像,将容器运行起来。nginx
docker build -t flask_app . docker run -it --name flask_container -p 5000:5000 flask_app
执行结果以下:docker
4.此时在浏览器输入:127.0.0.1:5000,便可访问到容器内的flask应用了。shell