11

我正在尝试使用项目根文件夹中的以下命令使用aws-sam-cli测试我的 hello world lambda 函数:

sam local start-api --debug

这给了我控制台中的以下输出:

2018-07-11 16:13:15 local start-api command is called
2018-07-11 16:13:15 2 resources found in the template
2018-07-11 16:13:15 Found Serverless function with name='Hello' and CodeUri='.'
2018-07-11 16:13:15 Trying paths: ['/home/jamiro/.docker/config.json', '/home/jamiro/.dockercfg']
2018-07-11 16:13:15 No config file found
2018-07-11 16:13:15 Trying paths: ['/home/jamiro/.docker/config.json', '/home/jamiro/.dockercfg']
2018-07-11 16:13:15 No config file found
Error: Running AWS SAM projects locally requires Docker. Have you got it installed?

据我了解,我确实安装了 docker,因为执行docker --version会产生以下输出:

Docker version 18.03.1-ce, build 9ee9f40

有谁知道为什么 sam找不到 docker?

4

3 回答 3

12

按着这些次序:

  1. 删除~/.docker目录
  2. 创建“码头工人”组
  3. 将我的用户添加到“docker”组
  4. 注销并重新登录
  5. 重新启动“docker”守护进程。

Docker 安装后说明中的更多信息

于 2018-07-11T15:22:45.467 回答
1

我安装了旧版本的 docker。尽管 docker 工作正常,但 sam 无法正确检测到它。

sam local start-api --debug

docker.errors.APIError:400 客户端错误:错误请求(“客户端比服务器更新(客户端 API 版本:1.35,服务器 API 版本:1.24)”)错误:在本地运行 AWS SAM 项目需要 Docker。你安装好了吗?

我删除了旧版本并重新安装了docker.io包(在 Ubuntu 下)。然后我启动了 docker 守护进程,问题就解决了。

于 2019-05-14T14:53:37.077 回答
0

在 Windows 中安装 Docker 时,请确保安装您在安装后从提示窗口获得的 linux 内核更新:

https://docs.microsoft.com/es-es/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package

安装更新后,docker 应该重新启动(否则手动重新启动,或重新启动计算机)并且 SAM 应该能够找到它。

于 2021-03-18T22:16:40.930 回答