我正在尝试使用最新的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
如果我不使用环境变量方法,它会遇到另一个已知的(令人沮丧的)bug,即使上下文设置了正确的区域,它也会使用错误的aws区域。我觉得如果我能让它看到环境变量,那么环境变量选项就可以解决这个问题。
SET
(而不是EXPORT
)应该可以吧? - mreferreSET
命令,甚至手动添加环境变量,但它不会识别它们。不过有一件有趣的事情我发现了,docker-compose
命令行工具会自动读取.env
文件中的变量,即使没有用--env-file
标志指定文件,看起来像是另一个bug :S 但是对于ecs集成,我需要使用新的compose
选项来运行docker
命令行工具... 我不认为它会像之前那样读取.env
文件,否则我可能就不会遇到这个问题了 :D - raydenldocker compose -f docker-compose.build.yml build
命令默认会同时读取同一位置的.env
文件。 - raydenl