Как настроить непривилегированные контейнеры Linux?

Для начала

используйте переключатель --background, чтобы он был разветвлен. используйте переключатель -m для создания PID файл

start-stop-daemon --start --background -m --pidfile $ PIDFILE --exec $ DAEMON - $ DAEMON_ARGS

Полный ответ см. https://stackoverflow.com / questions / 16139940 / what-is-start-stop-daemon-in-linux-scripting

Наслаждайтесь

2
08.03.2019, 05:27
2 ответа

Я знаю, что это старый пост, но недавно у меня была та же проблема, которая была исправлена ​​​​следуя довольно конкретной ошибке, которую мне сообщили:

lxc-create: my-container: conf.c: suggest_default_idmap: 4738 You must either run as root, or define uid mappings
lxc-create: my-container: conf.c: suggest_default_idmap: 4739 To pass uid mappings to lxc-create, you could create
lxc-create: my-container: conf.c: suggest_default_idmap: 4740 ~/.config/lxc/default.conf:
lxc-create: my-container: conf.c: suggest_default_idmap: 4741 lxc.include = /etc/lxc/default.conf
lxc-create: my-container: conf.c: suggest_default_idmap: 4742 lxc.idmap = u 0 100000 65536
lxc-create: my-container: conf.c: suggest_default_idmap: 4743 lxc.idmap = g 0 100000 65536
lxc-create: my-container: lxccontainer.c: do_lxcapi_create: 1869 Failed to create (none) storage for my-container
lxc-create: my-container: tools/lxc_create.c: main: 327 Failed to create container my-container

Это было довольно легко исправить:

mkdir -p ~/.config/lxc
touch ~/.config/lxc/default.conf
echo "lxc.include = /etc/lxc/default.conf" >> ~/.config/lxc/default.conf
echo "lxc.idmap = u 0 100000 65536" >> ~/.config/lxc/default.conf
echo "lxc.idmap = g 0 100000 65536" >> ~/.config/lxc/default.conf

Не забудьте обновить идентификаторы пользователей и групп

Кроме того, примечание, если вы получаете сообщение об ошибке:

Setting up the GPG keyring
ERROR: Unable to fetch GPG key from keyserver

Вот из-за этого:https://github.com/lxc/lxc/issues/3068

Чтобы это исправить, просто добавьте -- --keyserver hkp://p80.pool.sks-keyservers.net:80в конец команды создания, например.

lxc-create -t download -n my-container -- --keyserver hkp://p80.pool.sks-keyservers.net:80

Надеюсь, это поможет другим, по крайней мере, вам не помогло

0
27.01.2020, 22:08

Это новый проект или у вас есть выбор? Почему бы не использовать LXD вместо LXC -гораздо проще в использовании, и вы получите то же самое. Я начал с lxc и быстро переключился, потому что мне было интересно запускать непривилегированные контейнеры, что непросто в LXC, но по умолчанию в LXD.

Для начала посмотрите здесь :https://discuss.linuxcontainers.org/t/comparing-lxd-vs-lxc/24

Прошло несколько месяцев с тех пор, как я в последний раз устанавливал/использовал его, но вот мои заметки по установке:

Поскольку LXD развивается довольно быстро, мы рекомендуем пользователям Ubuntu использовать наш PPA:

add-apt-repository ppa:ubuntu-lxc/lxd-stable

apt-get update

apt-get dist-upgrade

apt-get install lxd

Пакет создает новую группу «lxd», которая содержит всех пользователей, которым разрешено поговорите с lxd через локальный сокет unix. Все члены «админа» и Группы «sudoers» добавляются автоматически. Если ваш пользователь не является членом одну из этих групп, вам нужно будет вручную добавить своего пользователя в «lxd» группа.

Поскольку членство в группе применяется только при входе в систему,тогда вам либо нужно закройте и повторно -откройте сеанс пользователя или используйте команду «newgrp lxd» в оболочки, из которой вы собираетесь взаимодействовать с lxd.

новая группа lxd

https://blog.ubuntu.com/2015/03/20/installing-lxd-and-the-command-line-tool22.10.2018


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

Не совсем ответ на вопрос, который вы задали, но я надеюсь, что вы найдете его полезной альтернативой.

0
27.01.2020, 22:08

Теги

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