Можно ли создать AWS AMI из образа Docker?
В AWS ECR у меня есть образ Docker, который я хочу преобразовать в AWS AMI для создания экземпляра со средой.
Причина попытки использовать AMI поверх контейнера Docker
Я должен был запускать вычислительные задачи ML в моем контейнере Docker внутри m4.xlarge
экземпляр на некоторых текстовых файлах. Однако в Docker загрузка ЦП экземпляра достигает 100%, а сценарий преждевременно уничтожается.
Тем не менее, он работает нормально в том же экземпляре за пределами Docker.
Итак, я хочу перейти на AMI из Docker, однако я также хочу использовать Docker для создания среды и скорости тестирования, которую он обеспечивает в моем регионе.
Итак, возможно ли создать AMI из образа Docker, который я тестирую, и развернуть в моем реестре ECS?
2 ответа
Прямого способа создания AMI-файлов AWS из образа Docker не существует, хотя существует инструмент с открытым исходным кодом, который может создавать / создавать AMI-файлы AWS из файла Docker, но поддерживаются только инструкции ENV, RUN, COPY и ADD, другие инструкции будут просто игнорируются.
Инструмент с открытым исходным кодом для построения AWS AMI из файла Docker
https://github.com/mickep76/docker-build-ami
https://pypi.python.org/pypi/docker-build-ami/0.1.3
Так что, если вы действительно заинтересованы в попытках создать правильный файл докера из вашего образа докера. Для этого вы можете обратиться по следующим ссылкам
Может показаться, что существует проблема или неправильная конфигурация образа докера или докера. Вы упомянули, что экземпляр запускает тот же сценарий вне Docker без проблем? Тогда лучше создайте AMI экземпляра с запущенным скриптом, и вам вообще не понадобится docker. Выполнение сценария в Docker может в большинстве случаев означать, что конфигурация Docker ограничивает ЦП, но не то, что ЦП хоста переходит на 100% и убивает сценарий. Вы должны попытаться запустить докер-контейнер с тем же образом, но при запуске sleep10000, чтобы вы могли зайти в контейнер, запустить интересующий скрипт и посмотреть, что не работает.