Найти в Дзене

Docker в Proxmox

Многие ресурсы уже успели сообщить о поддержке в Proxmox VE 9.1 контейнеров Docker, которые можно теперь запускать нативно. Многие давно ждали этой возможности, но радоваться пока рано. Дело в том, что никакой нативной поддержки Docker в Proxmox VE нет и не планируется, а текущая реализация представляет собой конвертер образов OCI в LXC контейнеры. Это привело к ряду специфических ограничений. Так, конвертированный контейнер нельзя обновить, просто скачав новый образ. Вам потребуется повторная конвертация и создание нового контейнера. Также не поддерживаются привычные Docker технологии, такие как Compose. Все это вызывает по меньшей мере недоумение. По сути, у нас уже не Docker, но еще и не LXC, причем сильные стороны обоих технологий нам в полной мере недоступны. Зачем это может быть нужно? Сказать сложно, возможно, чтобы быстро запустить Docker-контейнер для тестирования. Потому как в отсутствие compose поднимать что-то сложное – это руками скачать все нужные образы, руками их ус

Docker в Proxmox

Многие ресурсы уже успели сообщить о поддержке в Proxmox VE 9.1 контейнеров Docker, которые можно теперь запускать нативно. Многие давно ждали этой возможности, но радоваться пока рано.

Дело в том, что никакой нативной поддержки Docker в Proxmox VE нет и не планируется, а текущая реализация представляет собой конвертер образов OCI в LXC контейнеры.

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

Также не поддерживаются привычные Docker технологии, такие как Compose. Все это вызывает по меньшей мере недоумение. По сути, у нас уже не Docker, но еще и не LXC, причем сильные стороны обоих технологий нам в полной мере недоступны.

Зачем это может быть нужно? Сказать сложно, возможно, чтобы быстро запустить Docker-контейнер для тестирования. Потому как в отсутствие compose поднимать что-то сложное – это руками скачать все нужные образы, руками их установить и настроить. А при обновлении повторить всю эту процедуру заново.

Но и тут не все так гладко, как хотелось бы. Мы решили для практического ознакомления запустить что-то простое, но полезное, например Uptime Kuma. Скачали образ, конвертировали в контейнер, и он у нас отказался запускаться из-за конфликта с AppArmor.

Это называется, с чем боролись – на то и напоролись. Решить эту проблему, наверное, можно. Но только зачем? Ладно бы у данной реализации были какие-то ощутимые плюсы, но их нет. Так зачем тратить время непонятно на что и непонятно для чего?

Тогда мы решили взять что-то попроще, скажем официальный образ Nginx и здесь у нас все получилось. Но снова радости от этого мало. Штатно в качестве внешнего хранилища предлагается использовать виртуальные диски, что может быть крайне неудобно в эксплуатации.

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

В общем мы снова приходим к тому, что проще взять обычный LXC-контейнер и не выпендриваться. Все равно никаких плюсов Docker нам не добавит, а вот проблем и забот значительно прибавится.

Если коротко, то все, что хочется сказать по этому поводу: хотели как лучше – получилось, как всегда. В текущем виде реализация Docker в Proxmox VE не выдерживает никакой критики. У Docker забрали все его сильные стороны и превратили в недоделанный LXC.

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

Практическое применение также под большим вопросом, так как это уже не Docker, но и не контейнер. Привычные подходы и инструменты тут не работают. А это снова разные костыли и велосипеды. Причем абсолютно непонятно зачем.