AWS sam build失败,原因是docker未在macOS中运行(但它正在运行)

0vvn1miw  于 2023-04-11  发布在  Docker
关注(0)|答案(1)|浏览(141)

我想做的

为了尝试AWS SAM(无服务器应用程序模型)来部署ML模型。我使用了他们的SAM机器学习模板和PyTorch。这个模板使用了Docker,这是问题的根源。不幸的是,Docker对我的用例来说是必要的,因为它是部署大型repo的唯一方法(PyTorch模块很大)。

  • 问题 *

当我运行命令sam build来构建应用程序时,我得到了错误:

Build Failed
Error: Building image for InferenceFunction requires Docker. is Docker running?

但是,我安装的Docker桌面运行得很好。
enter image description here Docker正在运行,我也可以运行docker run hello-world来验证我可以正确运行Docker。
重现问题
1.创建SAM存储库

sam init

1.选择【AWS快速入门模板】,选择一个起始模板。(Choice: 1
1.选择机器学习模板。(Template: 13
1.选择python3.9作为运行时(Runtime: 1),其实这并不重要,我也试过python3.8和3.10。
1.选择PyTorch机器学习推理API作为入门模板。(Template: 1
1.选择退出X-Ray和CloudWatch Application Insights。同样,这些都不重要。
1.根据需要设置项目名称。

  1. cd到项目文件夹中,然后构建应用程序(**确保您已运行docker)
sam build

希望同样的错误也会发生。

我的规格:

  • Macbook Air M2.(不确定此问题是否仅发生在Apple Silicon芯片上)
  • Docker Desktop 4.18.0(104112)
  • SAM CLI,版本1.78.0

我没有发现任何stackoverflow帖子遇到同样的问题,只有类似的。例如:
AWS Lambda Sam can't find docker
公认的解决方案是关于用户组的,但我认为这是Linux的,因为从我所读到的,Mac不应该有这个问题。
我怀疑是因为AWS SAM找不到我的Docker。

zf9nrax1

zf9nrax11#

我终于解决了我自己的问题。显然,看起来根本原因是Docker版本4.18.0。要么这个版本有一个bug,要么这个版本对SAM来说太新了。我安装了旧版本(4.15.0),它工作了。

相关问题