Docker hub:在 github 的自动构建中处理第三方工具版本控制的最佳方法是什么?

Docker hub: What is the best approach to handle versioning of third party tools in automatic builds from github?

我在 github 上有一个应用程序,它使用第三方开源工具作为依赖项。我想将我的应用程序容器化,所以我在我的存储库中添加了一个 Docker 文件,它会触发 Docker Hub 上的自动构建。 Docker 图像编译第三方工具并构建我的应用程序。

在 Docker Hub 我已经配置了规则来根据新提交(源分支即 docker-repo/myapp:latest)和发布(源标签 docker-repo/myapp:v1.0).但是,我已将 dockerfile 静态指向第三方工具的最新版本。所以我的应用程序总是准备好最新版本的依赖项。

现在,我的问题是:使用 Docker Hub 处理该第三方工具版本的最佳方法是什么?我希望能够处理我的应用程序的版本控制,但也希望能够处理其依赖项的版本控制。我是否应该创建与我想要构建的依赖项版本一样多的 dockerfile?

我认为对此没有最佳做法。一些语言从上游工具的每个版本中创建一个版本; e. G。 Python 它有一个标签,用于 Alpine 和 Debian 的所有版本。所以这不是 我应该 的问题,这只是你可能想做或不想做的问题,具体取决于你的形象的客户。十有八九,您可能只想提供映射到上游依赖项的 latest 图像的 latest 图像。