我已经部署了瞭望塔,它会自动更新Docker Swarm中正在运行的 Docker 容器。
我在两台AWS EC2服务器上运行这个 Docker Swarm,并使用 AWS ECR 作为 Docker 注册表。
为了避免aws ecr get-login
我使用了Amazon ECR Docker Credential Helper,它会在 docker push/docker pull 上自动获取 Amazon ECR 的凭证,并且无需在 12 小时内登录 ech。
问题是瞭望塔抛出如下错误:
time="2019-03-12T03:41:10Z" level=info msg="Unable to update container /crmproxy.1.wop3c1u2qktbkab8rukrlrgr6, err='来自守护进程的错误响应: pull access denied for 00000000000.dkr..amazonaws.com /crm,存储库不存在或可能需要“docker login”。继续下一步。”
我确信这与登录 ECR 无关。我已使用 docker -compose.yml文件将凭据正确链接到 WATCHTOWER 容器中。
这是 docker-compose.yml 文件上的瞭望塔配置。
watchtower:
image: v2tec/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ~/.docker/config.json:/config.json
command: --interval 30
在我对这个问题的研究中,我看到其他人和我有同样的问题,并且有人自己解决了这个问题,但我不明白。
这就是我发现的:尚不清楚的解决方案
我不完全知道这个答案是否正确。但他说:
问题是我以root身份安装了docker。现在使用 Amazon Linux AMI 的 ec2-user 安装并正常工作
请帮助我避免我面临的这个问题。我试了很多次。任何帮助都会对我有利。