使用docker打包python项目并在本地模拟部署aws lambda

使用docker打包python项目并在本地模拟部署aws lambda


前言

本文主要记录使用docker打包python项目并部署到lambda的流程以及遇到的一些问题。

配置:Windows11,WSL2,Ubuntu20.04,VScode


一、docker打包python项目

1.准备工作

在requirements.txt中写入需要安装的库:

-f https://download.pytorch.org/whl/torch_stable.html
open3d==0.13.0
torch==1.12.0+cpu
# open3d-python

设置dockerfile:

FROM public.ecr.aws/lambda/python:3.7

ADD ./ ${
   LAMBDA_TASK_ROOT}/

RUN mkdir -p /tmp/classifier

RUN python3 -m pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/
RUN python3 -m pip install open3d-python -i https://pypi.mirrors.ustc.edu.cn/simple/

CMD [ "handler.predict"]

1、从 aws lambda 上 pull 下 python 3.7 的基础镜像
2、当前目录的内容ADD到容器中的 /var/task 目录下
3、在容器的tmp文件夹中新建文件夹(代码运行时需要在临时文件夹中生成临时文件)
4、安装依赖库
5、启动运行 handler.predict

由于open3d-python在requirements.txt一起安装出现了报错,所以将open3d-python放入dockerfile单独安装。

2.打包步骤

打开WSL:Ubuntu-20.04终端,启动docker:

sudo service docker start

切换路径到待打包的文件夹:

cd 文件夹路径

创建docker镜像

docker build -t test:0.1.0 . 

注意:最后有个 .

运行创建好的镜像,创建一个新容器

docker run -p 8888:8080 test:0.1.0 
docker run -p 8888:8080 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值