Ben*_*ler 10 amazon-web-services docker amazon-ecr aws-cdk
我正在尝试做一些看起来相当合乎逻辑且直接的事情。
我正在使用 AWS CDK 来配置 ecr 存储库:
repository = ecr.Repository(
self,
id="Repo",
repository_name=ecr_repo_name,
removal_policy=core.RemovalPolicy.DESTROY
)
Run Code Online (Sandbox Code Playgroud)
然后,我有一个 Dockerfile,它位于我的项目的根目录中,我试图将其推送到部署中的同一个 ECR 存储库。
我在相同的服务代码中执行此操作:
assets = DockerImageAsset(
self,
"S3_text_image",
directory=str(Path(__file__).parent.parent),
repository_name=ecr_repo_name
)
Run Code Online (Sandbox Code Playgroud)
部署正常并继续进行,并创建了 ECR 存储库,但映像被推送到默认位置aws-cdk/assets
如何让部署将我的 Dockerfile 发送到我希望它驻留的确切 ECR 存储库?
kyl*_*yto 15
AWS CDK 已repositoryName在DockerImageAsset. GitHub 上有几个问题引用了该问题。请参阅其中一位开发人员的评论:
目前 CDK 附带 2 个资产系统:
旧版本(目前仍然是默认版本),您可以为每个资产指定一个存储库名称,CLI 将创建并推送到您指定的任何 ECR 存储库。
新的(将来将成为默认设置),将通过执行 cdk bootstrap 创建单个 ECR 存储库,并将所有映像推送到其中。CLI 将不再创建存储库,它必须已经存在。IIRC 这样做是为了限制部署所需的权限。@eladb,你能帮我记住为什么我们选择这样做吗?
有一个新构造的请求,该构造允许您部署到位于(aws-ecr-assets) ecr-deployment #12597 的自定义 ECR 存储库。
使用案例
我想使用此功能将我的本地图像源代码完全部署到 ECR,使用我之前在 CDK 应用程序中创建的 ECR 存储库,或更重要的是使用 arn 在应用程序外部创建。最大的问题是由于审计和语义版本控制,图像无法完全抽象到资产存储库中。
如果您不想等待 CDK 团队实现新的构造,也可以在https://github.com/wchaws/cdk-ecr-deployment上使用第三方解决方案。
| 归档时间: |
|
| 查看次数: |
12681 次 |
| 最近记录: |