首页 > 解决方案 > 如何从 docker 容器在主机上安装/运行服务或命令

问题描述

我正在尝试找到一种从特权 docker 容器中在 linux 主机上运行命令的好方法,并且我希望该命令在主机的上下文中执行。

例如,我希望能够执行一些扫描主机的审计工具。该工具在容器内可用,我希望它在主机上执行。

另外,我希望能够从容器在主机上安装一个包(特别是 Auditd)。

容器可以使用所需的任何权限运行。

任何帮助,将不胜感激。

标签: dockercontainers

解决方案


安装:

  • 将主机 FS 挂载到容器 ( -v /:/rootfs/) 中,然后在容器中运行 cp,这会将所有需要的文件复制到该挂载 /rootfs。小心使用动态链接的二进制文件——它们必须为主机操作系统准备,而不是为容器环境准备(它们可能有不同的 lib、glibc 版本)。

主机服务管理:

  • 大多数 Linux 使用 systemd,因此只需将所需的套接字挂载到容器 ( -v /var/run/dbus:/var/run/dbus -v /run/systemd:/run/systemd) 中,然后容器中systemctl的 systemd 实用程序 () 就可以管理主机 systemd 服务

推荐阅读