Невозможно обновить образ докера. Ошибка: хранилище не существует или может потребоваться "вход в докер"

Я развернул сторожевую башню, которая автоматически обновляет запущенные контейнеры Docker внутри Docker Swarm.

Я запускаю этот Docker Swarm на двух серверах AWS EC2 и использую AWS ECR в качестве реестра Docker.

избежать aws ecr get-login Я использовал Amazon ECR Docker Credential Helper, который автоматически получает учетные данные для Amazon ECR при извлечении Docker push / docker, и нет необходимости входить в систему в течение 12 часов.

Проблема в том, что сторожевая башня выдает ошибку вроде:

time = "2019-03-12T03: 41: 10Z" level = info msg = "Невозможно обновить контейнер /crmproxy.1.wop3c1u2qktbkab8rukrlrgr6, err='Ошибка ответа от демона: доступ по запросу заблокирован для 00000000000.dkr..amazonaws.com/crm, хранилище не существует или может потребоваться "вход в докер". Переход к следующему. "

Я уверен, что речь не идет о входе в ECR. Я правильно связал учетные данные в WATCHTOWER contaiener, используя файл 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 и работает

Пожалуйста, помогите мне избежать этой проблемы, с которой я сталкиваюсь. Я пробовал так много раз. Любая помощь будет для меня преимуществом.

0 ответов

В вашем изображении есть дополнительная точка. Может ли это быть причиной вашей проблемы?

  00000000000.dkr..amazonaws.com/crm
                  ^

Также вы можете просто добавить ec2-пользователя в группу docker, чтобы он также мог выполнять команды docker: sudo usermod -aG docker ec2-user, Не нужно переустанавливать.

Другие вопросы по тегам