我们在 AWS VPC 中使用了一个外部无法访问的 Docker 注册表。我们希望能够从此注册表中启动 ECS 中的任务,但是我们看到该服务仅处于 PENDING 状态,因为 Docker 守护程序无法访问注册表。
我通过更改启动配置的用户数据找到了一种解决方法,但感觉并不是最好的方法:
#!/bin/bash
echo ECS_CLUSTER=MY_CLUSTER_NAME >> /etc/ecs/ecs.config
echo OPTIONS=--insecure-registry=insecure.registry.hostname:5000 > /etc/sysconfig/docker
service docker restart
docker start ecs-agent
这完美地工作,我可以看到我的任务按预期运行。我只是不认为这一定是最好的方法。
AWS 向我介绍了这篇讨论使用私有注册表进行身份验证的文章,但我不打算进行身份验证,只是为了让 Docker 忽略我正在使用不安全(即不是 HTTPS)注册表的事实。
有没有人有更好的解决方案?
谢谢