Docker:更新图像和注册表

时间:2016-11-15 11:28:37

标签: docker docker-compose dockerhub

更新和存储图像的正确工作流程是什么?

例如:

  1. 我从Github下载源代码(使用Dockerfiles的项目,docker-compose.yml)
  2. 我运行" docker build"
  3. 我将新图像推送到Docker Hub(或AWS ECR)
  4. 我在源代码中进行了一些更改
  5. 将更改推送到Github
  6. 我现在应该做些什么来更新注册表(Docker Hub)?
  7. A)我应该再次运行" docker build" ,然后将新图片(带新标签)推送到注册表?

    B)我应该以某种方式提交对现有图像的更改并更新Docker Hub上的现有图像吗?

1 个答案:

答案 0 :(得分:1)

这取决于您将使用您的码头图像以及"发布"你采取的政策。

我的建议是你将你在Docker Hub上保存的标签与你在github上的发行版或标签同步,并使用jenkins和github webooks等持续集成工具自动化你的生产。

然后你的流程变成: 您可以使用拉取请求方案进行代码修改并将它们集成到github中。这意味着您的代码将合并到您的主分支中。 您的jenkins已配置为在更改master时,它将根据您的docker文件构建并将其推送到Docker hub。这将抹掉你最近的"标记并确保您在docker hub中的最新标记始终与github上的主版本同步

如果您需要保留附加标签,这通常是因为您的软件的分支或关系不同。您将使用通过jenkins和github webhooks与非主分支连接的标记执行与上述相同的操作。对于这个,请看看官方库如何在github上组织(例如在postgres或mysql图像上)。