我正在创建一个lambda函数的基础上,停靠图像遵循这aws tutorial.我找到了图像here,特别是public.ecr.aws/lambda/python:3.11

问题是,在页面中,它的最大大小将是238 MB,但当我构建这个Dockerfile时

FROM public.ecr.aws/lambda/python:3.11
COPY lambda_function.py ${LAMBDA_TASK_ROOT}
CMD [ "lambda_function.handler" ]

与此

docker build -t positions-backend .

然后我就跑了

docker images

我意识到我的形象是749MB

example

这是我的空lambda函数

def handler(event, context):
    return {
        'statusCode': 200,
        'body': {
            "msg": "hi :D"
        }
    }

为什么我的图像是748MB与一个空的项目?谢谢

推荐答案

我不知道这个数字是从哪里来的,但如果我们拉基础图像并判断其历史,我们会看到:

$ docker pull public.ecr.aws/lambda/python:3.11
$ docker history public.ecr.aws/lambda/python:3.11
IMAGE          CREATED        CREATED BY                                      SIZE      COMMENT
e34e3e59cb88   29 hours ago   ENTRYPOINT [ "/lambda-entrypoint.sh" ]          0B
<missing>      29 hours ago   ENV LAMBDA_RUNTIME_DIR=/var/runtime             0B
<missing>      29 hours ago   ENV LAMBDA_TASK_ROOT=/var/task                  0B
<missing>      29 hours ago   ENV LD_LIBRARY_PATH=/var/lang/lib:/lib64:/us…   0B
<missing>      29 hours ago   ENV PATH=/var/lang/bin:/usr/local/bin:/usr/b…   0B
<missing>      29 hours ago   ENV TZ=:/etc/localtime                          0B
<missing>      29 hours ago   ENV LANG=en_US.UTF-8                            0B
<missing>      29 hours ago   WORKDIR /var/task                               0B
<missing>      29 hours ago   ADD file:384d41d4058f1d590f048a0c1474041c02f…   56.7kB
<missing>      29 hours ago   ADD file:0448654eed630f2f1179287a6e0466928e0…   439MB
<missing>      29 hours ago   ADD file:79a77e7c1be9a2c4f77ead609e8d8b71623…   5.85MB
<missing>      29 hours ago   ADD file:a1bbc10d9f9f6ba22cee5801afc978c0506…   397B
<missing>      29 hours ago   ADD file:178bb853f0ea4e9e47c962179740d55a67f…   627kB
<missing>      29 hours ago   ADD file:c39f5f02ed92d44591fa99789f20fd3aa47…   303MB
<missing>      29 hours ago   ARCHITECTURE amd64                              0B

,这或多或少与你的观察一致.

它最大的两层大小分别为439MB和303MB.

Python相关问答推荐

如何将自动创建的代码转换为类而不是字符串?

保留包含pandas pandras中文本的列

无法使用python.h文件; Python嵌入错误

Pydantic:如何将对象列表表示为dict(将列表序列化为dict)

使文本输入中的文本与标签中的文本相同

如何防止Plotly在输出到PDF时减少行中的点数?

拆分pandas列并创建包含这些拆分值计数的新列

无法使用equals_html从网址获取全文

如何让 turtle 通过点击和拖动来绘制?

如何检测背景有噪的图像中的正方形

Pandas 滚动最接近的价值

运行总计基于多列pandas的分组和总和

如果值不存在,列表理解返回列表

pandas:排序多级列

有没有一种ONE—LINER的方法给一个框架的每一行一个由整数和字符串组成的唯一id?

如何使regex代码只适用于空的目标单元格

使用BeautifulSoup抓取所有链接

BeautifulSoup:超过24个字符(从a到z)的迭代失败:降低了首次深入了解数据集的复杂性:

判断Python操作:如何从字面上得到所有decorator ?

将CSS链接到HTML文件的问题