最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

运行docker push to ECR时找不到Docker镜像

运维笔记admin13浏览0评论

运行docker push to ECR时找不到Docker镜像

运行docker push to ECR时找不到Docker镜像

我有这个在开发中工作(因为一切都在一台机器上),但在生产中我有一个带有管理器和工作节点的docker swarm。当我运行docker commit它创建一个快照并运行docker image ls确认这一点,但当我尝试推送到私人注册表(ecr)docker无法找到图像。我想这是因为图像在工人身上而管理员找不到,或者图像在管理员身上而工人无法找到它。我怎样才能解决这个问题?

{ 
  Error: '(HTTP code 404) no such image - No such image: {account-id}.dkr.ecr.us-east-1.amazonaws/{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/{repo}:{tag}' 
  }
} 
回答如下:

我最终通过登录运行容器的worker解决了这个问题。运行docker container commit会在本地仓库中保存映像的快照,该仓库位于运行容器的节点上。如果该节点在另一台主机上,这是我的情况,运行docker push image将无法工作,因为管理员将无法访问workers本地存储库。所以只需直接连接到worker并运行docker push image。

发布评论

评论列表(0)

  1. 暂无评论