当前位置: 首页 > 面试题库 >

将Docker映像推送到Amazon ECS存储库

谭献
2023-03-14
问题内容

我是AWS的新手。我想在AWS ECS容器实例上设置私有Docker存储库。我创建了一个名为的存储库name。AWS显示的示例推入命令正在运行。

aws ecr get-login --region us-west-2 
docker build -t name .
docker tag name:latest ############.dkr.ecr.us-west-2.amazonaws.com/name:latest 
docker push ############.dkr.ecr.us-west-2.amazonaws.com/name:latest

但是,通过此命令,我构建并推送了一个名为的映像name,我想构建一个名为的映像foo。所以我将命令更改为:

docker build -t foo .
docker tag foo ###########.dkr.ecr.us-west-2.amazonaws.com/name/foo
docker push ###########.dkr.ecr.us-west-2.amazonaws.com/name/foo

这应该可以,但是不能。重试一段时间后,出现错误:

The push refers to a repository [###########.dkr.ecr.us-west-2.amazonaws.com/name/foo]
8cc63cf4528f: Retrying in 1 second
...
name unknown: The repository with name 'name/foo' does not exist in the registry with id '############'

AWS真的需要我要推送的每个映像专用的存储库吗?


问题答案:

在EC2容器注册需要一个像仓库要设置为你想要发布到注册表中的每个图像“名”或“命名空间/名称”。

但是,您可以:tags在每个存储库中发布任何您想要的内容(默认限制是100个标签)。

我没有在AWS文档中的任何地方看到具体说明存储库->映像名称映射的信息,但这是通过创建存储库-
ECR用户指南中的6d部分
隐含的

该码头工人形象规范包括它的定义中的

资料库

标签的集合,这些标签被分组在一个通用前缀(之前的名称组件:)下。例如,在标记有名称的图像中 my-app:3.1.4,my-
app是名称的存储库组件。存储库名称由斜杠分隔的名称组成,可以选择以DNS主机名作为前缀。主机名必须符合标准DNS规则,但不能包含_字符。如果存在主机名,则可以选择在其后跟格式的端口号
:8080。名称组件可能包含小写字符,数字和分隔符。分隔符定义为一个句点,一个或两个下划线或一个或多个破折号。名称组件不能以分隔符开头或结尾。



 类似资料:
  • 问题内容: 我有一个标记为的docker 映像,并且在dockerhub上有一个名为的私有仓库。 当我推动我的工作时,我最终总是会碰到公共仓库。 具体将我的图片推送到我的私人仓库的确切语法是什么? 问题答案: 您需要先使用正确标记图像: 然后码头工人使用相同的标签推。 例:

  • 我有一个docker图像标记为,我在dockerhub上有一个名为的私人回购 当我推我的时,我最终总是点击公共回购。 将我的图像推送到私人回购协议的确切语法是什么?

  • 问题内容: 我已经创建了自己的docker文件(该文件运行一个显示“ helloworld”的shell脚本)。图像是“ hellodocker”,标签是“ mytag”,我现在拥有: 如何将Docker映像推送到dockerhub?我用。这给出了“无此类ID”错误。我想念什么?提前致谢。 问题答案: 您要么在构建时就将其标记为标签,例如 或创建绑定到同一图像的新标签,即

  • 我还不太了解dockerhub。我得到了以下案例: 我为中心标记了几张图片 docker标签myImageA myuser/myrepo: 1 docker标签myImageB myuser/myrepo: 1 docker标签myImageC myuser/myrepo: 1 然后我用docker push myuser/myrepo推送它们 现在,当删除所有本地图像并再次拉入自己的docker

  • 我无法将docker映像推送到低于错误的工件注册表 登录和拉取工作正常 詹金斯档案: Dockerfile: 我不确定这是怎么回事。我可以在jenkins从属节点上手动推送图像。但使用詹金斯会产生错误 我构建工作的日志 这是我的构建日志中的内容。

  • 我无法将docker映像推送到heroku注册表。 根据docker的说法,我已成功登录: 在那之后,我运行了,我得到了一些令人困惑的错误,说我试图推送到一个不安全的repo,而de-output中的url看起来是安全的(以https开头)。我做错了什么? 我正在使用以下jib配置: jib的Maven输出:build wiht-X: