Образ Docker не найден при запуске Docker push to ECR - PullRequest
0 голосов
/ 02 февраля 2019

У меня это работает в разработке (потому что все на одной машине), но на производстве у меня есть рой докеров с менеджерами и рабочими узлами.Когда я запускаю docker commit, он создает снимок, и запуск docker image ls подтверждает это, но когда я пытаюсь перейти в Docker частного реестра (ecr), не может найти изображение.Я предполагаю, что это потому, что изображение находится на работнике, и менеджер не может его найти, или изображение находится на менеджере, а работник не может его найти.Как я могу это исправить?

{ 
  Error: '(HTTP code 404) no such image - No such image: {account-id}.dkr.ecr.us-east-1.amazonaws.com/{repo}:{tag}'
    at /root/labs/node_modules/docker-modem/lib/modem.js:257:17
    at getCause (/root/labs/node_modules/docker-modem/lib/modem.js:287:7)
    at Modem.buildPayload (/root/labs/node_modules/docker-modem/lib/modem.js:256:5)
    at IncomingMessage.<anonymous> (/root/labs/node_modules/docker-modem/lib/modem.js:232:14)
    at Object.apply (/root/labs/node_modules/harmony-reflect/reflect.js:2064:37)
    at IncomingMessage.emit (events.js:187:15)
    at Object.apply (/root/labs/node_modules/harmony-reflect/reflect.js:2064:37)
    at IncomingMessage.EventEmitter.emit (domain.js:441:20)
    at endReadableNT (_stream_readable.js:1094:12)
    at Object.apply (/root/labs/node_modules/harmony-reflect/reflect.js:2064:37)
    at process._tickCallback (internal/process/next_tick.js:63:19)
  reason: 'no such image',
  statusCode: 404,
  json: { 
    message: 'No such image: {account-id}.dkr.ecr.us-east-1.amazonaws.com/{repo}:{tag}' 
  }
} 

1 Ответ

0 голосов
/ 13 февраля 2019

Я решил эту проблему, войдя в рабочую, которая запустила контейнер.Выполнение фиксации контейнера Docker сохраняет снимок изображения в локальном репозитории, который находится на узле, на котором работает контейнер.Если этот узел находится на другом хосте, что было в моем случае, запуск push-образа Docker не будет работать, поскольку у менеджера не будет доступа к рабочему репо.Так что просто подключитесь к рабочему напрямую и запустите загрузочное изображение Docker.

...