- 18, Oct 2024
- #1
Итак, я работаю над исследовательским проектом и пытаюсь автоматически создавать определенные среды с использованием различных методов виртуализации.
Итак, сначала я создал Vagrantfile, который извлекает образ Ubuntu, а затем запускает книгу воспроизведения Ansible. У меня есть сценарий, который определяет все для моей среды.
А это значит, что он копирует файлы, устанавливает и все настраивает.
Для VirtualBox это не проблема — моя среда в VirtualBox раскручивается.
Теперь я хочу сделать то же самое, но на Docker. Обычно для определения среды пишут файл docker. Я хочу повторно использовать сценарий Ansible для определения среды (несмотря на то, что это немного нелогично). Хотя в Vagrant, похоже, есть некоторая поддержка Docker — как лучше всего добиться того, чего я хочу? Я хочу создать Docker-контейнер — именно так, как указано в книге действий Ansible. (По сути, повторное использование книги, которую я также использовал для настройки VirtualBox). Результатом должен стать образ Docker, который я могу просто запустить с помощью Docker Run.
1) Setup a VM with Vagrant.
2) Install Ansible and Docker in that VM.
3) Create a new Docker Image with Ansible. It just defines the Container OS and maybe opens a port so Ansible can SSH into the container?
4) Run the playbook in the container to configure everything.
5) Package the entire thing as a new image
6) Transfer packaged docker image to the host machine
Как лучше всего это сделать? На что мне следует обратить внимание?