Amazon web services 与凭证文件斗争
我将在AWS上部署Docker容器,凭证文件格式如下:Amazon web services 与凭证文件斗争,amazon-web-services,docker-machine,Amazon Web Services,Docker Machine,我将在AWS上部署Docker容器,凭证文件格式如下: [default] aws_access_key_id = KEY aws_secret_access_key = KEY region=eu-west-2 vpc-id=vpc-bb1b7fd3 并位于~/.aws/credentials 当我执行命令时,docker machine create--driver amazonec2 app 我得到: 已定义默认VPC-ID。有人能帮我解决这个问题或者给我指出正确的方向吗 我正在使用的命
[default]
aws_access_key_id = KEY
aws_secret_access_key = KEY
region=eu-west-2
vpc-id=vpc-bb1b7fd3
并位于~/.aws/credentials
当我执行命令时,docker machine create--driver amazonec2 app
我得到:
已定义默认VPC-ID。有人能帮我解决这个问题或者给我指出正确的方向吗
我正在使用的命令
docker-machine create --driver amazonec2 --amazonec2-access-key AKIAyyy --amazonec2-secret-key AKIAxxx --amazonec2-region eu-west-2 --amazonec2-vpc-id vpc-bb1b7fd3 flask_app
当我尝试使用文件系统中的凭据文件时:
docker-machine create --driver amazonec2 flask_app
其中,vpc-bb1b7fd3
默认由AWS生成,因此必须有效且时间也正确。我还试着交换钥匙,以防我设法交换了钥匙,但它们也没问题。sudo ntpdate ntp.ubuntu.com的输出与机器的系统时间相同
错误说明:预创建检查错误:“身份验证失败:AWS无法验证提供的访问凭据\n\t状态代码:401,请求id:9d642d91-cd93-4104-b9fb-2a42b1249e3b”
已尝试:
在堆栈交换上,通过重新启动Docker守护进程解决了非常类似的问题,因为当计算机处于睡眠状态并再次唤醒时,Docker的时钟停止将其时间与计算机的时间同步。我重新启动了Docker守护进程,没有任何更改。仍然是相同的错误。问题不在于钥匙,因此可能有两个原因
- 你的系统时间不对
- 无效的VPC ID
sudo ntpdate ntp.ubuntu.com
或者根据您的操作系统运行
第二个原因似乎是您的命令中缺少一些标志,如果时间不起作用,请使用命令更新问题
专有网络ID
我们在命令开始时确定您的默认VPC ID。在某些方面
案例,可能是因为您的帐户没有默认vpc,或者您
如果不想使用默认值,可以使用
--amazonec2专有网络id标志
登录AWS控制台,进入服务->专有网络->您的专有网络
。定位
要从VPC列中获取的VPC ID。转到服务->专有网络->
子网
。检查可用区
列,以验证可用区
a
存在并匹配您的专有网络ID
。例如,us-east1-a
位于a中
可用区。如果a分区不存在,则可以创建新分区
子网
在该区域中,或在创建
机器
要创建具有非默认VPC-ID的计算机,请执行以下操作:
docker-machine create --driver amazonec2 --amazonec2-access-key AKI******* --amazonec2-secret-key 8T93C********* --amazonec2-vpc-id vpc-****** aws02
本例假设在a可用性区域中找到了VPC ID
。使用--amazonec2区域标志
指定a区域以外的区域。例如,--amazonec2区域c
表示us-east1-c
通过从AWS下载rootkey.csv并将其移动到
~/.AWS
Docker实例现在已上载到AWS。我可能需要联系AWS帮助台。我不想整个星期都被困在这个问题上。我注意到这是互联网上很常见的问题。但解决方案并不常见。
docker-machine create --driver amazonec2 --amazonec2-access-key AKI******* --amazonec2-secret-key 8T93C********* --amazonec2-vpc-id vpc-****** aws02