У меня развернута сторожевая башня , которая автоматически обновляет запущенные контейнеры Docker внутри Docker Swarm .
Я запускаю этот Docker Swarm на двух AWS EC2 серверах и использую AWS ECR в качестве реестра Docker.
, чтобы избежать aws ecr get-login
Я использовал Amazon ECR Docker Credential Helper , который автоматически получает учетные данные для Amazon ECR при извлечении / извлечении Docker и не требует входа в систему в течение 12 часов.
Проблема в том, что сторожевая башня выдает ошибку вроде:
time = "2019-03-12T03: 41: 10Z" level = info msg = "Невозможно обновить контейнер /crmproxy.1.wop3c1u2qktbkab8rukrlrgr6, err = 'Ошибка ответа от демона: отказано в доступе по запросу для 00000000000.dkr..amazonaws.com / crm, хранилище не существует или может потребоваться «вход в докер». Переход к следующему. "
Я уверен, что речь не идет о входе в ECR.Я правильно связал учетные данные с WATCHTOWER, используя docker-compose.yml файл.
Здесь приведены настройки сторожевой башни в файле docker-compose.yml.
watchtower:
image: v2tec/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ~/.docker/config.json:/config.json
command: --interval 30
В своем исследовании этой проблемы я обнаружил, что у других есть такая же проблема, как и у меня, и есть человек, который сам исправил это, но я не понимаю этого.
это то, что я нашел: решение, которое неясно
Я не совсем уверен, что этот ответ правильный или нет.но он сказал:
Проблема была в том, что я установил docker от имени пользователя root.Установленный с ec2-пользователем Amazon Linux AMI и работающий
Пожалуйста, помогите мне избежать этой проблемы, с которой я сталкиваюсь.Я пробовал так много раз.Любая помощь будет для меня преимуществом.