[英]AWS Lambda Sam can't find docker
我正在尝试在我的项目根文件夹中使用以下命令使用aws-sam-cli测试我的 hello world lambda function:
sam local start-api --debug
这在控制台中为我提供了以下 output :
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会导致以下 output:
Docker version 18.03.1-ce, build 9ee9f40
有谁知道为什么sam找不到 docker?
我安装了旧版本的 docker。 尽管 docker 工作正常,但 sam 无法正确检测到它。
sam local start-api --debug
docker.errors.APIError: 400 Client Error: Bad Request ("client is newer than server (client API version: 1.35, server API version: 1.24)") 错误:在本地运行 AWS SAM 项目需要 Docker。 你安装好了吗?
我删除了旧版本并重新安装了docker.io包(在 Ubuntu 下)。 然后我启动了 docker 守护进程,问题就解决了。
在 Windows 中安装 Docker 时,请确保安装安装后从提示窗口获得的 linux 内核更新:
安装更新后 docker 应该重新启动(否则手动重新启动,或重新启动计算机),SAM 应该能够找到它。
如果在 Mac 上出现此问题,我可以通过在父文件夹上实现文件共享来解决此问题。 AWS SAM 需要与 function 共享文件,这会出现同样的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.