Альтернатива Docker, которая менее ограничена для поддержки зависимостей пакетов

Я работаю над робототехникой на ROS, работающей с Xenial, но это относится к любому приложению, работающему в Ubuntu. С командой инженеров довольно сложно поддерживать унифицированную испытательную станцию ​​в пакетных версиях. Некоторое время назад у нас был полный перерыв на испытательном стенде, поскольку новое обновление / обновление изменило большую часть функциональности пакета.

Я хочу избежать этого и иметь решение, которое позволяет мне легко дублировать эти испытательные стенды.

Я понимаю, что Docker является популярным решением для этого, но контейнерное решение немного ограничивает мои потребности. Я не возражаю против переустановки драйверов и т. Д., И я нахожу обременительным иметь дело с конкретными проблемами Docker при запуске моего исходного тестового стенда (особенно потому, что для этого требуются мультиконтейнеры).

Есть ли доступное решение, которое может удовлетворить мои потребности, не доходя до такого контейнера, как Docker?

Тупой метод был бы просто клоном всего моего испытательного стенда ... может быть, это все еще лучше для меня?

0
задан 14 September 2019 в 01:20

2 ответа

Я думаю, что Ваша лучшая альтернатива для Вас https://www.vagrantup.com / (Их девиз является "Средами разработки, Сделанными Легкий")

<час>

, следующие параграфы копируются (с некоторым редактированием) с их веб-сайта:

, Для чего это? Бродяга является инструментом для создания и управления средами виртуальной машины в единственном рабочем процессе. С простым в использовании рабочим процессом и вниманием на автоматизацию, Бродяга понижает время установки среды разработки, производственную четность увеличений, и заставляет "работы над моей машиной" извинить пережиток прошлого.

, Если Вы уже знакомы с основами Бродяги, документация обеспечивает лучшую ссылочную сборку для всех доступных функций и внутренностей.

, Почему Бродяга? Бродяга обеспечивает легкий настроить, восстанавливаемые, и портативные рабочие среды, созданные сверху технологии промышленного стандарта и управляемые единственным последовательным рабочим процессом, чтобы помочь максимизировать производительность и гибкость Вас и Вашей команды.

Для достижения ее волшебства Бродяга стоит на плечах гигантов. Машины настраиваются сверху VirtualBox, VMware, AWS или любого другого поставщика. Затем инструменты настройки промышленного стандарта, такие как сценарии оболочки, Шеф-повар, или Марионетка, могут автоматически установить и настроить программное обеспечение на виртуальной машине.

, Если Вы разработчик, Бродяга изолирует зависимости и их конфигурацию в единственной доступной, последовательной среде, не жертвуя ни одним из инструментов, Вы привыкли работать с (редакторы, браузеры, отладчики, и т.д.) Однажды Вы, или кто-то еще создает единственный Vagrantfile, Вам просто нужно бродяге, и все установлено и настроено, чтобы Вы работали. Другие члены Вашей команды создают свои среды разработки из той же конфигурации , поэтому работаете ли Вы над Linux, Mac OS X или Windows, все Ваши члены команды выполняют код в той же среде против тех же зависимостей, все настроили тот же путь. Попрощайтесь с "работами над моей машиной" ошибки.

<час>

Мой опыт: Я использую бродягу ежедневно, и это решает все проблемы зависимости. Я выполняю несколько VM для различных проектов на моем depelopment компьютере. Кроме того, Вы настраиваете однажды, и все получают ту же конфигурацию. Простой, простой в использовании и Как плюс, можно использовать его с AWS

0
ответ дан 23 October 2019 в 12:07

Как я предположил в комментариях, если Вы ищете простой способ иметь ту же среду для всех и легко вернуться к предопределенному состоянию, я предложил бы виртуализацию.

А полное практическое руководство, вероятно, превысило бы кадр ответа здесь, так здесь aresome подсказки и ссылки:

<час>

Установка KVM

  • Установки KVM

    , я предложил бы использовать LVM, который предлагает снимки, возвращаясь и изменяя размер

    или если Вы предпочитаете файлы: qcow2, так как это также предлагает снимкам и (немного) изменение размеров

    Изображения QEMU (qcow2)

    <час>

    XEN

    альтернатива, также был бы XEN.

    существуют некоторые встроенные инструменты, доступные для использования debootstrap, таким образом, Вы могли создать новый и обновленный VM каждый раз, когда Вам нужен он для Ваших коллег. Можно также использовать LVM или бэкенд файла (qcow2) здесь.

    XEN также предлагает PVM/paravirtualized гости, которые могли значительно улучшить производительность.

    <час>

    А именно, я предложил бы готовить один основной image/VM, затем клонирующий его, таким образом, каждый teammember имеет его VM.

    С LVM можно затем создать снимок исходного состояния и легко вернуться к нему с --merge (по требованию или регулярно с cronjob).

    , Кроме того, Вы могли использовать бэкенд файла (возможно, влияют на ввод-вывод), и просто скопируйте по отдельному VMs с Вашим основным файлом изображения.

    реальные данные, что каждому разработчику нужно, я смонтировался бы с [1 141] NFS и прояснил бы команде, что только смонтированные данные будут сохранены.

  • 0
    ответ дан 23 October 2019 в 12:07

    Другие вопросы по тегам:

    Похожие вопросы: