我正在尝试使用最新的docker cli暴露的新ecs上下文。当我使用
创建上下文时,我选择了使用环境变量的方法(推荐的方法),但现在无论我如何尝试调用
docker context create ecs my_context
,它总是返回信息
docker compose
。在谷歌上搜索这条信息,没有任何结果 :/
context requires credentials to be passed as environment variables
我试着用
和
-e
标志传递,我试着用
--environment
文件和
.env
标志。
--env-file
docker --context my_ecs compose -f docker-compose.yml -f docker-compose.dev.yml -e AWS_ACCESS_KEY_ID=XXXXXXX -e AWS_SECRET_ACCESS_KEY=XXXXXXXX -e AWS_DEFAULT_REGION=XXXXXXXX up
如果我不使用环境变量方法,它就会遇到另一个已知的(令人沮丧的)错误,即它使用了错误的aws区域,尽管上下文是以正确的区域设置的。我觉得环境变量选项可以解决这个问题,如果我可以让它看到环境变量的话。
我认为在
命令中传递变量并不可行。它的工作方式是,你在你的shell中导出访问密钥ID、秘密访问密钥和区域变量,然后你通过指向这些变量来创建docker上下文, 如这里所示 。docker compose up你可以通过启动
,然后挑选docker context create ecs myecscontext来交互式地进行,或者你可以直接运行AWS environment variables。docker context create ecs myecscontext --from-env是的,如果你指的是 这个 ,那么区域错误是令人讨厌的。