docker - 如何从 docker 容器在主机上安装/运行服务或命令
问题描述
我正在尝试找到一种从特权 docker 容器中在 linux 主机上运行命令的好方法,并且我希望该命令在主机的上下文中执行。
例如,我希望能够执行一些扫描主机的审计工具。该工具在容器内可用,我希望它在主机上执行。
另外,我希望能够从容器在主机上安装一个包(特别是 Auditd)。
容器可以使用所需的任何权限运行。
任何帮助,将不胜感激。
解决方案
安装:
- 将主机 FS 挂载到容器 (
-v /:/rootfs/
) 中,然后在容器中运行 cp,这会将所有需要的文件复制到该挂载 /rootfs。小心使用动态链接的二进制文件——它们必须为主机操作系统准备,而不是为容器环境准备(它们可能有不同的 lib、glibc 版本)。
主机服务管理:
- 大多数 Linux 使用 systemd,因此只需将所需的套接字挂载到容器 (
-v /var/run/dbus:/var/run/dbus -v /run/systemd:/run/systemd
) 中,然后容器中systemctl
的 systemd 实用程序 () 就可以管理主机 systemd 服务
推荐阅读
- excel - .GetSaveAsFilename 对话框在后台打开
- r - 使用 mutate ifelse 和 rollappy 创建基于连续变量变化的条件因子
- android - React Native 闪屏和软导航键
- excel - 打开 Excel 计算并关闭 Excel 宏
- javascript - 检查Javascript中对象数组中的键是否?
- python - 在Python中将JSON多维数组转换为一维数组
- heroku - Heroku - 没有找到匹配的分布
- c++ - C ++将对象保存在列表中以供以后重用
- javascript - 按多个属性对对象数组进行排序,包括嵌套数组中的对象
- sql - Oracle - 根据多列选择行分组依据