amazon-web-services - 如何确保更新 AWS ECS 上的 Docker 镜像?

标签 amazon-web-services docker aws-ec2 amazon-ecs

我使用 Docker Hub 来存储私有(private) Docker 镜像,存储库有一个 webhook,一旦镜像更新,它就会调用我构建的服务:

  • 更新ECS任务定义
  • 更新ECS服务
  • 注销旧的ECS任务定义

  • 该服务正在相应地运行。运行后,ECS 使用新任务定义创建新任务,停止使用旧任务定义的任务,服务返回新定义。

    关键是 Docker 镜像没有更新,一旦服务在新任务定义中启动,它就会保留在旧镜像中。

    难道我做错了什么?如何确保更新 docker 镜像?

    最佳答案

    在分析 AWS ECS 日志后,我发现问题出在 ECS Docker 身份验证上。

    为了解决这个问题,我将以下数据添加到文件/etc/ecs/ecs.config

    ECS_CLUSTER=default
    ECS_ENGINE_AUTH_TYPE=dockercfg
    ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"auth":"YOUR_DOCKER_HUB_AUTH","email":"YOUR_DOCKER_HUB_EMAIL"}}
    

    只需更换 YOUR_DOCKER_HUB_AUTH YOUR_DOCKER_HUB_EMAIL 通过您自己的信息,它将正常工作。

    要查找此信息,您可以执行 docker login在您自己的计算机上,然后在文件 ~/.docker/config.json 中查找数据

    有关私有(private)注册表身份验证主题的更多信息,请查看 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html

    关于amazon-web-services - 如何确保更新 AWS ECS 上的 Docker 镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34819201/

    相关文章:

    javascript - 从 html 数据获取并替换 img src 值

    amazon-web-services - 您可以使用 CDK 创建 AWS RDS Aurora 表吗?

    amazon-web-services - 是什么导致 cfn-signal 与 waithandle.url 出现 403 错误

    iptables 中的 Docker 链覆盖 INPUT 规则

    node.js - 将Nginx作为其自己的容器运行,与客户端应用程序容器分开运行

    amazon-web-services - 我可以在 aws 安全组中添加 dns 名称吗

    amazon-web-services - Azure DevOps Cloudformation 更新堆栈使用参数文件失败(##[错误]ValidationError : Parameters: do not exist in the template)

    java - 在 shell 脚本中在 oracle DB 上执行.sql 文件

    amazon-web-services - 了解 AWS 黄金镜像