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