Я хотел бы запустить контейнер докеров, который будет иметь возможность запускать команды systemctl
на своем хосте.
После этого вопроса я не нашел решения, которое подойдет мне.
У меня нет жестких ограничений на базовый образ докера, поэтому я использую образ докера ubuntu-16.04 для ubuntu- Хост 16.04 и образ докера ubuntu-18.04 для хоста ubuntu-18.04 полностью приемлемы.
Спасибо, ofirule
Попробовал ваше решение на debian:10, ваше решение эффективно позволяет запускать systemctl
, но не позволяет видеть/контролировать системные процессы. Чтобы это работало, каталог /sys/fs/cgroup
также должен быть смонтирован как том:
docker run -it --rm -v /bin/systemctl:/bin/systemctl -v /run/systemd/system:/run/systemd/system -v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket -v /sys/fs/cgroup:/sys/fs/cgroup debian:10 systemctl --no-pager status
С его помощью я могу управлять службами systemd хоста и даже выполнять выключение/перезагрузку через systemd.
Похоже, это характерно для Debian 10 и не требуется для Ubuntu 18.04. Другим версиям Debian/Ubuntu он может понадобиться, а может и не понадобиться.