Как установить / запустить службу или команду на хост-машине из док-контейнера - PullRequest
0 голосов
/ 06 января 2019

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

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

Также мне бы хотелось иметь возможность устанавливать пакет на хост (в частности, Auditd) из контейнера.

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

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 06 января 2019

Установка:

  • смонтируйте хост FS в контейнер (-v /:/rootfs/), а затем запустите cp в контейнере, который скопирует все необходимые файлы в этот монтированный файл / rootfs. Будьте осторожны с динамически связанными двоичными файлами - они должны быть подготовлены для хост-ОС, а не для контейнера env (они могут иметь разные версии lib, glibc).

Управление хост-сервисами:

  • Большинство Linux-систем используют systemd, поэтому просто смонтируйте необходимые сокеты в контейнер (-v /var/run/dbus:/var/run/dbus -v /run/systemd:/run/systemd), а затем утилиты systemd (systemctl) из контейнера смогут управлять службами хоста systemd
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...