Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS EB从docker部署类型错误_Amazon Web Services_Docker_Amazon Elastic Beanstalk - Fatal编程技术网

Amazon web services AWS EB从docker部署类型错误

Amazon web services AWS EB从docker部署类型错误,amazon-web-services,docker,amazon-elastic-beanstalk,Amazon Web Services,Docker,Amazon Elastic Beanstalk,我正在尝试使用AWS Elasticbeanstalk CLI从docker实例内部部署代码。我得到这个错误: $ eb deploy my-env Traceback (most recent call last): File "/usr/local/bin/eb", line 11, in <module> sys.exit(main()) File "/usr/local/lib/python2.7/dist-packages/ebcli/core/eb

我正在尝试使用AWS Elasticbeanstalk CLI从docker实例内部部署代码。我得到这个错误:

    $ eb deploy my-env
Traceback (most recent call last):
  File "/usr/local/bin/eb", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/ebcli/core/ebcore.py", line 142, in main
    ebrun.run_app(app)
  File "/usr/local/lib/python2.7/dist-packages/ebcli/core/ebrun.py", line 74, in run_app
    io.log_error(e.__class__.__name__ + " - " + e.message)
TypeError: cannot concatenate 'str' and 'ProfileNotFound' objects

你能提供一些关于你的环境的额外细节吗?如果我理解正确,我已经在docker容器中安装了ewscli,然后启动容器,连接到它并尝试从那里运行部署

你能告诉我: -你的python版本是什么?
-在容器内,是否配置了默认的AWS配置文件?

问题是容器内的
~/.AWS/credentials
中没有AWS凭据。您的Dockerfile需要在
eb部署之前向
~/.aws/credentials
添加以下内容:

[eb-cli]
aws_access_key_id = <AWS_ACCESS_KEY_ID>
aws_secret_access_key = <AWS_SECRET_ACCESS_KEY>
[eb cli]
aws\u访问\u密钥\u id=
aws\u密码\u访问\u密钥=

更新2019年后查看此信息的任何人尝试不在docker容器中传递凭据,通过任务定义角色传递IAM权限

注册任务定义时,可以为IAM角色提供任务角色,该角色允许任务权限中的容器代表您调用其关联策略中指定的AWS API。有关更多信息,请参阅任务的IAM角色。-

[eb-cli]
aws_access_key_id = <AWS_ACCESS_KEY_ID>
aws_secret_access_key = <AWS_SECRET_ACCESS_KEY>