Docker 创建并推送镜像到 AWS

本文介绍了如何通过填写配置文件、Dockerfile和.aws/credentials文件来自动化Docker镜像的创建和推送过程。重点讲述了如何在AWS ECR中配置和切换账号,以及解决在构建过程中可能遇到的问题,如No basic auth credentials。
摘要由CSDN通过智能技术生成

背景描述:

以前,我们需要输入很多 docker 命令来 build 和 push image,现在开发人员只需要填写自动 build 和 push image所需的文档。主要流程如下:

1 如何填写配置文件

1.1 填写 Dockerfile .dockerignore 文件

  • 将它们都放到一个特殊的文件夹中,例如:“/var/local/preview_dockerfile”,并将路径放到配置文件“Dockerfile”中
  • Dockerfile 中要复制的文件和 “.dockerignore”文件要忽略的文件必须和 Dockerfile 和 .dockerignore 在同一目录下
  • 文件命名必须标准化:例如 "previwe.dockerfile" 的命名方法是错误的,如果你这样做,docker 会找不到你的 dockerfile,你可以给它们一个统一的名字,比如:Dockerfile

1.2 找到需要复制到图像的路径

  • 将所有复制路径放入配置文件“Directory location”,如:“/var/preview-container/bin”
  • 将 dockerfile 的位置放到配置文件“Directory destination”中
  • 当构建代码运行时,它将复制所有在“Directory location”目录中的文件到“Directory destination”文件夹去,这将确保所有复制文件夹与dockerfile 在同一目录中(这是使用 dockerfile 的规则),如果没有,当构建代码创建映像使用 dockerfile 时,它会告诉我们找不到复制文件夹。

1.3 ~/.aws/credentials 文件夹中添加 AWS 配置信息

      这一步是确保可以使用不同的 aws 帐户在特定的 aws 存储库中推送映像。例如,我们可以在文件中定义“dev”:

[default]
aws_access_key_id = *******
aws_secret_access_key = ******
[dev]
aws_access_key_id = ******
aws_secret_access_key = ******

1.4 添加 image 将被推送的仓库名

将 1.3 中定义的 repositoty URI 和 AWS 用户名放在配置文件的“AWS ECR Repository”中,例如:

Push:
    "AWS ECR Repository":
    "AWS ECR Repository 1": {"Profile": default,"repo":739762310319.dkr.ecr.us-east-1.amazonaws.com/hello-world}
    "AWS ECR Repository 2": {"ProDfile": dev,"repo":739762310319.dkr.ecr.us-east-1.amazonaws.com/build-test}

1.5 配置文件示例

Build:
    "Dockerfile": /var/local/preview_dockerfile
    "Docker imageName": atlas-preview-build-test
    "Docker tag": preview-test-liufang
    "Port": {'100/tcp': 1080}
    "Copy":
        "Directory location 1": /var/preview-container/bin
        "Directory destination": /var/local/preview_dockerfile 
Push:
    "AWS ECR Repository":
        "AWS ECR Repository 1": {"Profile": default,"repo":739762310319.dkr.ecr.us-east-1.amazonaws.com/hello-world}
        "AWS ECR Repository 2": {"Profile": dev,"repo":739762310319.dkr.ecr.us-east-1.amazonaws.com/build-test}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值