Это не стандартный способ создания образа Docker, и это не то, что я бы сделал, но он будет работать.Подумайте о том, чтобы взглянуть на такой инструмент, как Hashicorp Packer , который может автоматизировать эту последовательность.
Не обращая внимания на конкретные детали инструментов, важная вещь в последовательности docker build
заключается в том, что у вас проверен какой-то файлв систему контроля версий, которую автоматизированный процесс может использовать для создания образа Docker.Ansible playbook в сочетании с шаблоном Packer JSON будет соответствовать этому же базовому требованию.
Здесь важно то, что между средой исполнения Docker и системой с открытым исходным кодом или виртуальной машиной есть несколько ключевых отличий, которые выОбычно он настраивается с помощью Ansible: маловероятно, что вы сможете использовать свою существующую игровую книгу без изменений.Например, если ваша книга воспроизведения пытается сконфигурировать системные демоны, установить системный файл systemd, добавить пользователей ssh или другие стандартные системные административные задачи, они, как правило, не актуальны и не полезны в Docker.
Я бы предложилсделать хотя бы одну попытку упаковать ваше приложение, используя стандартный Dockerfile, чтобы действительно понять экосистему.Не ожидайте, что сможете использовать Ansible playbook без изменений в среде Docker;но если ваша организация имеет большой опыт работы с Ansible, и вы можете легко отделить «установить приложение» от «настроить сервер», предложенный вами путь технически приемлем.