Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

udocker /= мой runch

Поэкспериментировал с udocker на проде. Там обнаружились скрипты сборки рпм-ок, которыми (как ни странно) всё собралось. Особенно странно, учитывая нетрадиционность CentOS6 i686. Впрочем, в случае контейнеров похуй на битность хост-ядра, но хорошо что работает на имеющихся системах.

Впечатляет конечно что оно работает без рута - т.е. вытягивается 32-битная убунта (вы не поверите, но внезапно на докерхабе есть 32-битная убунта, хоть и кривоватая имхо) и в ней всякие апт-геты работают. Но у меня, с одной стороны, нет требования, чтобы работало без рута, а, с другой стороны, есть требования внутреннего презерватива, отделяющего процесс в контенере от самого контейнера.

В-общем proot и fakeroot работает нормально, только если в контейнере есть всего один пользователь. Что технически понятно, так как в файловой системе владельца нерут менять не может. Ну то есть если в гостевой убунте делаешь useradd -m foo - то shit hits the fan. Все файлы-каталоги всегда принадлежат текущему гостевому юзеру (поскольку на хосте всегда принадлежат юзеру, запустившему контейнер). Ну и если есть 2 процесса, один от рута второй от foo - то они показывают разных владельцев у одного и того же. В-общем понятно что оно работает так, потому что по-другому нельзя, и что "их" (юзеров proot/udocker) это устраивает.

Надо попробовать запустить контейнер под рутом и посмотреть, что происходит.

Интересно кстати что они в целом повторили структуру папок моего vzexec:

- ~/.udocker вместо ~/.vzexec
- ~/.udocker/{repos,layers} вместо ~/.vzexec/images
- ~/.udocker/containers вместо ~/.vzexec/bundles

Upd: хуй:
$ sudo udocker run
Error: do not run as root !
Tags: programming, vz
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments