Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Docker LXC Непривилегированный контейнер на Proxmox 7 с ZFS

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Docker LXC Непривилегированный контейнер на Proxmox 7 с ZFS, Proxmox Виртуальная Среда
     
    kamzata
    Guest
    #1
    0
    16.11.2021 14:02:00
    Я использую Proxmox 7.0-11 на файловой системе ZFS и пытаюсь запустить Dokku (который использует Docker) в контейнере LXC без привилегий на Ubuntu 20.04. В контейнере я активировал функции nesting и keyctl сразу после его создания, используя шаблон Ubuntu 20.04. Вот конфигурация: Bash: root@srv001:~# pct config 104
    arch: amd64
    cores: 4
    features: keyctl=1,nesting=1
    hostname: dokku
    memory: 2048
    net0: name=eth0,bridge=vmbr0,gw=192.168.1.1,hwaddr=72:41:4B:AE:C1:DF,ip=192.168.1.104/24,type=veth
    ostype: ubuntu
    rootfs: local-zfs:subvol-104-disk-0,size=24G
    swap: 2048
    unprivileged: 1 Затем, после обновления, я выполнил: Bash: wget https://raw.githubusercontent.com/dokku/dokku/v0.26.6/bootstrap.sh; DOKKU_TAG=v0.26.6 bash bootstrap.sh для установки Dokku. Установка, похоже, прошла успешно, но место на диске быстро увеличилось с 2 ГБ до 10 ГБ. После создания приложений в Dokku я развернул свое приложение Hello World на Node. Это заняло много времени (около 30 минут) и места на диске (на данный момент уже 20 ГБ). Запуск команды ncdu / в файловой системе контейнера показывает, что папка /var/lib/docker/vfs/dir/ занимает почти все место на диске (с десятками файлов). Более того, каждая отдельная команда Dokku действительно медлительна и занимает все больше и больше места на диске. Я никогда раньше не использовал Docker, так что, может, вы сможете мне помочь. Как это исправить?
     
     
     
    Helmut101
    Guest
    #2
    0
    08.12.2021 05:57:00
    Пожалуйста, обновите здесь информацию о вашем опыте. Все еще на Kernel 6.4 из-за проблем с LXC/Docker для пользователей без привилегий.
     
     
     
    ikus060
    Guest
    #3
    0
    08.12.2021 13:12:00
    Я запускаю Docker в LXC без привилегий на Proxmox v7 с хранилищем ZFS. Я установил Docker с использованием fuse-overlayfs. Это решает все проблемы. Все работает из коробки.
     
     
     
    kamzata
    Guest
    #4
    0
    08.12.2021 16:33:00
    Это отличные новости. Как установить Docker с fuse-overlayfs? Более точно, я пытаюсь установить Dokku, который использует Docker.
     
     
     
    ikus060
    Guest
    #5
    0
    08.12.2021 16:35:00
    По сути, я следовал этому: https://c-goes.github.io/posts/proxmox-lxc-docker-fuse-overlayfs/
     
     
     
    kamzata
    Guest
    #6
    0
    08.12.2021 16:48:00
    Достаточно ли это быстро? Есть ли у него проблемы с "увеличением пространства"?
     
     
     
    MrPowerGamerBR
    Guest
    #7
    0
    24.12.2021 18:51:00
    Я не @ikus060, но я попробовал следовать руководству, и это сработало! Я использовал LXC-контейнер размером 20 ГБ просто для простого контейнера Docker + PostgreSQL, потому что всё, что меньше, выдавало ошибку "диск переполнен". Сначала несколько "подводных камней", которые я нашел, следуя руководству: название пакета, который нужно установить на вашем хосте Proxmox, — "fuse-overlayfs"... да, название как бы очевидно, но кто знает. Установка этого пакета удалит "fuse" и заменит его на "fuse3", но согласно этой теме, это не должно вызвать никаких проблем! В контейнере нужно установить права на бинарный файл "fuse-overlayfs": "chmod 777 /usr/local/bin/fuse-overlayfs". Если этого не сделать, Docker не распознает драйвер overlayfs! Не обязательно использовать "docker.io", я установил Docker, следуя руководству на их сайте, и всё сработало отлично. И после всего этого я смог использовать всего 4 ГБ диска для LXC-контейнера! Чтобы убедиться, что именно драйвер "fuse-overlayfs" решил проблему, я сменил драйвер на "vfs", и не смог запустить свои контейнеры, потому что возникла ошибка "диск переполнен", так что ура! Я не тестировал производительность, но, кажется, всё работает неплохо... возможно, даже немного быстрее, чем vfs? Часть "Извлечение" при получении образа контейнера в LXC-контейнере с поддержкой fuse-overlayfs была значительно быстрее, чем vfs, но может, это просто эффект плацебо. Когда использую "df -h", показывает, что используется fuse-overlayfs Код: root@username:/# df -h
    Filesystem                 Size  Used Avail Use% Mounted on
    rpool/subvol-40018-disk-0  4.0G  2.5G  1.6G  61% /
    none                       492K  4.0K  488K   1% /dev
    udev                        63G     0   63G   0% /dev/tty
    tmpfs                       63G     0   63G   0% /dev/shm
    tmpfs                       26G  220K   26G   1% /run
    tmpfs                      5.0M     0  5.0M   0% /run/lock
    fuse-overlayfs             4.0G  2.5G  1.6G  61% /var/lib/docker/fuse-overlayfs/d2ab45c55d20d88a1d01a05712f7e9b100c662f3577638c9b4­575492229fd683/merged
    fuse-overlayfs             4.0G  2.5G  1.6G  61% /var/lib/docker/fuse-overlayfs/e0c23ac22c5c2d9f421d6849ed8a8af718b8def0a55cc046bb­0a28bf9d931c4a/merged
     
     
     
    Helmut101
    Guest
    #8
    0
    27.12.2021 16:09:00
    Спасибо за отчет. Есть и другой подход/руководство. Загляните в этот Ansible-блокнот, который содержит все шаги: - создайте zvol и отформатируйте его с ext4 - смонтируйте диск и измените владельца всех файлов на 100000:100000 с помощью chmod 0711 - может быть смонтирован в Docker с overlayfs2 и включенными nesting=1,keyctl=1 (как непривилегированный) - предупреждение: работает только с контейнерами Docker на Ubuntu (см. документацию Docker) Это руководство было для Proxmox 6.x, непонятно, работает ли это еще в 7.x. Я только что получил свой JBOD и, надеюсь, скоро протестирую ZFS, но было бы неплохо узнать заранее.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры