Задача
Проблема в том, что CodeBuild не может собрать образ Windows Docker. Это происходит из-за того, что CodeBuild работает внутри контейнера Docker, а Microsoft не поддерживает Docker внутри Docker.
Я знаю, не первый вопрос по этой теме, то есть это . Но я собираюсь предположить некоторые альтернативы стандартному рабочему процессу, который выглядит как this .
Важное замечание: Как я понимаю, образ Windows Docker для Microsoft Server 2016 может быть собран только из системы / контейнера Microsoft Server 2016.
Стандартный подход
- CodeBuild запускает Lambda
- Lambda запускает образ EC2 с помощью Docker
- Экземпляр EC2 извлекает исходный код, создает образ из Dockerfile, передает изображение в репозиторий и запускает CodePipeline.
- CodePipeline развертывает изображение
Quetions
Вместо реализации пользовательского шага по созданию образа мы можем использовать одно из решений сторонних производителей: Docker Hub или AWS ECR.
- Может ли AWS ECR создавать образы Docker из файла Docker? Можно ли делать сборки на системе / контейнере Microsoft Server 2016?
- Может ли Docker Hub создавать образы Docker в системе / контейнере Microsoft Server 2016?