我将以下Python代码编写为AWS Lambda的一部分:
import json
import os
def lambda_handler(event, context):
os.system("docker cp panaxeaA1/ panaxea:app/phdcode")
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
哪个返回以下错误:
16:21:23
START RequestId: 5693fd73-debb-11e8-9a71-ff6726b7be00 Version: $LATEST
16:21:23
sh: docker: command not found
16:21:23
END RequestId: 5693fd73-debb-11e8-9a71-ff6726b7be00
16:21:23
REPORT RequestId: 5693fd73-debb-11e8-9a71-ff6726b7be00 Duration: 16.04 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 18 MB
No newer events found at the moment. Retry.
不过,在实例上安装了Docker ...有什么建议吗?我的印象是我可以通过python进行cmd调用?
答案 0 :(得分:2)
尽管Docker已安装在实例上...有什么建议吗?我当时在 我可以通过python进行cmd调用的印象?
您在说什么“实例”?您没有在自己的实例上执行lambda函数!
根据文档:
[...]调用Lambda函数时,AWS Lambda将启动一个 执行上下文基于您提供的配置设置。的 执行上下文是用于初始化的临时运行时环境 Lambda函数代码的任何外部依赖项[...]-> https://docs.aws.amazon.com/lambda/latest/dg/running-lambda-code.html
要调用命令,您必须将功能所需的软件包安装/标记为lambda部署软件包。参见:https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html
希望有帮助!