Docker部署python小案例

1. 以一个简单的flask的demo为例,首先创建一个app.py,内容如下:

from flask import Flask
from gevent import pywsgi

app = Flask(__name__)

@app.route('/hello')
def hello():
    return 'Hello, Flask!'

# flask线上部署,需要使用WSGI启动服务
server = pywsgi.WSGIServer(('0.0.0.0', 5000), app)
server.serve_forever()

执行该文件,即可在 http://localhost:5000/hello 访问

2. 创建Dockerfile

FROM python:3.8-slim-buster
WORKDIR /app
COPY ./requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir --upgrade -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
COPY ./app /app
CMD ["python", "app.py"]

安装最新版本的依赖,不使用缓存,使用清华镜像

3. 接着创建requirements.txt,写入执行项目需要的依赖

Flask
gevent

项目目录结构如图:

项目目录中,app文件夹是最后需要打包的所有文件的根目录,所有项目文件都放这个文件夹中。

而项目创建完成后,就不需要Dockerfile和requirements.txt了,所以不需要放在app文件夹中。

4. 构建docker镜像

在flask目录下打开终端,执行以下命令:

docker build -t flask .

命令中的flask是镜像名称,可根据项目需求自行编辑。

5. 运行容器

镜像构建完成后,执行下方命令:

docker -d -p 5000:5000 --name=flask flask

可以使用docker ps 查看容器是否运行成功

运行后,可通过访问http://localhost:5000/hello 查看是否成功

6.镜像打包

在本地创建好的镜像,为了方便部署到服务器上,可以通过以下命令打包。

docker save -o flask.tar flask

打包完成后,会在当前目录生成一个 flask.tar 文件

7.镜像文件加载

将镜像文件上传至服务器后,可以通过 docker load -i [文件地址] 加载该镜像。

docker load -i /app/flask.tar
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值