Ohm*_*men 59 containers amazon-web-services docker
我是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
Run Code Online (Sandbox Code Playgroud)
但是使用这些命令,我构建并推送了一个名为的图像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
Run Code Online (Sandbox Code Playgroud)
这应该有效,但事实并非如此.经过一段时间的重试后,我得到了错误:
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 '############'
Run Code Online (Sandbox Code Playgroud)
AWS是否真的需要为我要推送的每个图像提供专用存储库?
Mat*_*att 65
在EC2容器注册需要一个像仓库要设置为你想要发布到注册表中的每个图像"名"或"命名空间/名称".
您可以:tags在每个存储库中发布您想要的任何内容(默认限制为100个标记).
我没有在AWS文档中看到任何具体说明存储库的地方 - >图像名称映射,但它是由创建存储库隐含的- ECR用户指南中的第6d节
该码头工人形象规范包括它的定义中的库
知识库
在公共前缀(之前的名称组件
:)下分组的标签集合.例如,在使用名称标记的图像中my-app:3.1.4,my-app是名称的Repository组件.存储库名称由斜杠分隔的名称组件组成,可选地以DNS主机名为前缀.主机名必须符合标准DNS规则,但可能不包含_字符.如果存在主机名,则可以选择后跟格式化的端口号:8080.名称组件可能包含小写字符,数字和分隔符.分隔符定义为句点,一个或两个下划线,或一个或多个破折号.名称组件不能以分隔符开头或结尾.
ece*_*ulm 27
您需要为每个图像名称创建一个存储库,但图像名称可以是"mycompanyname/helloworld"形式.所以你创建mycompanyname/app1,mycompanyname/app2等等
aws ecr create-repository --repository-name mycompanyname/helloworld
aws ecr create-repository --repository-name mycompanyname/app1
aws ecr create-repository --repository-name mycompanyname/app2
docker tag helloworld:latest xxxxxxxx.dkr.ecr.us-west-2.amazonaws.com/mycompanyname/helloworld:latest
docker push xxxxxxxx.dkr.ecr.us-west-2.amazonaws.com/mycompanyname/helloworld:latest
docker tag app1:latest xxxxxxxx.dkr.ecr.us-west-2.amazonaws.com/mycompanyname/app1:latest
docker push xxxxxxxx.dkr.ecr.us-west-2.amazonaws.com/mycompanyname/app1:latest
Run Code Online (Sandbox Code Playgroud)
我尝试了以下步骤并确认为我工作:
aws ecr get-login-password --region us-west-2 | aws ecr get-login-password --region us-west-2 | docker 登录 --用户名 AWS --密码-stdin xxxxxxxx.dkr.ecr.us-west-2.amazonaws.com
aws ecr create-repository --repository-name 测试
docker build -t 测试。
docker 标签测试:最新 xxxxxxxx.dkr.ecr.us-west-2.amazonaws.com/test:latest
docker 推送 xxxxxxxx.dkr.ecr.us-west-2.amazonaws.com/test:latest
| 归档时间: |
|
| 查看次数: |
22640 次 |
| 最近记录: |