将 docker windows 容器从 CI 部署到 Windows Server 2016

Deploy docker windows container from CI to Windows Server 2016

我正在努力研究 Docker 容器,特别是如何将它们部署到 Docker 容器主机。我知道这里有很多选择,最终我们将切换到更常见的部署方法(例如 Azure、AWS),但这是一个临时要求。我们正在使用 windows 个容器。

我有一个已创建的容器映像,作为 Jenkins 作业的一部分将在每次构建时重新创建(我们的 Jenkins 实例托管在容器就绪 windows server 2016 box 上)。我还有一个单独的容器就绪 Windows Server 2016 框,我们打算从中 运行 容器。

但是,我不确定如何将我们的 Jenkins 框自动生成的容器推送到我们单独的 2016 主机。理想情况下,我想避免使用容器注册表,除非有一个低摩擦的本地选项可用。

容器注册表是分发 Docker 图像的方式。工具是围绕注册表构建的,违背这个概念会适得其反。

但是 docker image savedocker image import 可以让你得到 tar,因为它将图像保存为 tar 文件,你可以在主机之间传输。将图像复制到另一个盒子后,您可以使用常用的 docker run 命令或 docker compose up 将其发送 tar 。

如果您的情况并非微不足道,并且您tar没有多个 Docker 主机到 运行 容器,Docker Swarm、Kubernetes 等容器编排器是要走的路——或者这些的托管版本,比如 Azure ACS。那个兔子洞比我能在一个 SO 答案中回答的更深 :)