[英]Sharing app files between phpfpm and nginx in docker containers
[英]Sharing code between multiple AWS Lambdas in a SAM app using Docker Containers
我有一個帶有多個 Lambda 的 SAM 應用程序和一些我想在它們之間共享的實用程序代碼。 使用 zip 文件打包 Lambda 時,可以使用 Lambda 層進行代碼共享。 但是,根據 AWS 文檔,使用容器時不支持 Lambda 層。
定義為容器鏡像的函數不支持層。 構建容器鏡像時,您可以將 package 您首選的運行時和依賴項作為鏡像的一部分
I've tried copying my dependencies into a separate docker image, then pulling from that image in my lambda dockerfile, which is suggested in the AWS blog post Working with Lambda layers and extensions in container images . 但是,我只是在嘗試調試或運行sam local invoke
時收到Unable to import module 'app': No module named '<my_dependency>'
錯誤。 我在最終圖像中驗證了依賴項位於我的 python lambda 的/opt/python/
目錄中,並嘗試了其他文件夾結構,但沒有運氣。
有沒有人能讓這個工作?
我已經想通了。 依賴項(例如,utils.py)確實需要在/opt/python/
文件夾中,但是當我嘗試對此進行測試時,我正在使用 docker cli 手動構建我的 docker 映像,而不是使用sam build
錯誤的圖像標簽。 因此,調試器使用了我的 docker 映像的先前版本,該版本無法正常工作。 為了解決這個問題,我只需要在嘗試本地調試 lambda 之前運行sam build
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.