问题
问题是 CodeBuild 无法构建 Windows Docker 映像。发生这种情况是因为 CodeBuild 在 Docker 容器内运行,而 Microsoft 不支持 Docker 内的 Docker。
我知道,不是关于这个话题的第一个问题,即this。但我会假设一些看起来像这样的标准工作流程的替代方案。
重要提示:据我了解,Microsoft Server 2016 的 Windows Docker 映像只能从 Microsoft Server 2016 系统/容器构建。
标准方法
- CodeBuild 触发 Lambda
- Lambda 使用 Docker 启动 EC2 映像
- EC2 实例拉取源代码,从 Dockerfile 构建镜像,将镜像推送到 repo 并触发 CodePipeline。
- CodePipeline 部署镜像
问题
我们可以使用第三方解决方案之一,而不是实施自定义映像构建步骤:Docker Hub 或 AWS ECR。
- AWS ECR 是否能够从 Docker 文件构建 Docker 映像?是否可以在 Microsoft Server 2016 系统/容器上进行构建?
- Docker Hub 是否能够在 Microsoft Server 2016 系统/容器上构建 Docker 映像?