我正在尝试在项目根文件夹中使用以下命令使用 aws-sam-cli 测试我的世界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吗?
答案 0 :(得分:3)
请按照以下步骤操作:
~/.docker
目录答案 1 :(得分:0)
我安装了较旧的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守护程序,此问题已解决。
答案 2 :(得分:0)
在 Windows 中安装 Docker 时,请确保安装安装后从提示窗口获得的 linux 内核更新:
安装更新后docker应该重启(否则手动重启,或者重启电脑),SAM应该可以找到它。