使用docker单机部署flask应用步骤:
编写flask简单应用
创建目录flask_demo
, 并在目录下编写一个简单的flask应用,并添加run_server.py文件,内容如下:
1
2
3
4
from app import create_app
app = create_app()
if __name__ == '__main__':
app.run('0.0.0.0', port=5000)
需要注意的是,这里的host一定要写成0.0.0.0
,否则会使用默认参数127.0.0.1
,这样会造成只能在docker容器内访问web应用,而无法在宿主机里访问到web服务。
生成requirements.txt
使用命令:
1
pip freeze > requirements.txt
在项目根目录生成requirements.txt依赖文件。
编写Dockerfile
我使用的是python3环境,所以可以基于Docker Hub里的python 3
版本制作Dockerfile:
1
2
3
4
5
6
7
8
FROM python:3
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 5000
CMD [ "python", "./run_server.py" ]
生成docker image
使用命令:
1
> $ docker image build -t flask_demo:latest .
生成docker image,使用命令:
1
> $ docker image ls
查看生成的image信息:
REPOSITORY TAG IMAGE ID CREATED SIZE
flask_demo latest 6f79e0481854 45 minutes ago 948MB
python 3 34a518642c76 8 days ago 929MB
启动container
使用命令:
1
> $ docker run -d -p 5000:5000 --name flask_demo flask_demo:latest
启动container。之后就可以在宿主机浏览器上输入url访问flask 服务。