gnome-desktop docker 映像适用于 Linux Mint 主机但不适用于 CentOS?

Posted

技术标签:

【中文标题】gnome-desktop docker 映像适用于 Linux Mint 主机但不适用于 CentOS?【英文标题】:gnome-desktop docker image works with Linux Mint Host but not CentOS? 【发布时间】:2014-07-04 09:08:05 【问题描述】:

我正在使用来自 docker repo 的这个 docker 想象:traxtopel/docker-centos-gnome-desktop

https://index.docker.io/u/traxtopel/docker-centos-gnome-desktop/

我有一个安装了 Docker 0.9.0 的 Linux Mint 系统,它可以运行映像并使用 gnome-session 启动 vncserver,没有任何问题。

但是,当我在 CentOS6 系统(也是 docker 版本 0.9.0)上运行相同的映像并尝试启动 gnome-session 时,我得到以下信息:

无法启动消息总线:无法打开“/etc/selinux/targeted/contexts/dbus_contexts”:没有这样的文件或目录 dbus-launch 中的 EOF 从总线守护进程读取地址

我还尝试启动一个 gnome-terminal,它在 Linux Mint 主机上工作,但在我的 CentOS6 主机上产生以下内容。

获取会话总线失败:/bin/dbus-launch 异常终止并出现以下错误:dbus-launch 中的 EOF 从总线守护进程读取地址

回退到非出厂模式。 召唤GConf恶魔失败;退出。无法联系配置服务器;一些可能的原因是您需要为 ORBit 启用 TCP/IP 网络,或者由于系统崩溃而导致 NFS 锁定失效。有关信息,请参阅http://projects.gnome.org/gconf/。 (详细信息 - 1:无法连接到会话:/bin/dbus-launch 异常终止并出现以下错误:dbus-launch 中的 EOF 从总线守护程序读取地址 )

由于两个 docker 版本相同,并且它们使用相同的 docker 映像,我唯一的猜测是它与主机内核版本或主机 selinux 配置有关。

Linux Mint 内核:3.8.0-19-generic CentOS6 内核:2.6.32-431.5.1

任何想法是什么导致了这种行为?

【问题讨论】:

【参考方案1】:

看起来这个问题与 selinux 有关。我没有所有细节或“正确”修复,但 Linux Mint 系统没有运行 selinux,而 CentOS6 系统运行。

我最初排除了这一点,因为当 selinux 进入许可模式时,会发生相同的行为。完全禁用 selinux 并重新启动主机系统可以解决此问题。

为了确定根本原因,我在许可模式下运行 selinux 并跟踪 /var/log/audit/audit.log 文件,但是当 gnome-terminal 或 gnome-session 为从 docker 镜像运行。

如果有人有更好的解决方案,请发布,但似乎解决方案是在主机系统上禁用 selinux。

【讨论】:

以上是关于gnome-desktop docker 映像适用于 Linux Mint 主机但不适用于 CentOS?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 MarkLogic docker hub 映像部署到 Azure 容器实例 ACI

ubuntu14.04 server安装gnome-desktop

Docker .Net 6 错误程序不包含适用于入口点的静态“主要”方法

MSSQL-Server On Docker

如何加载从原始 Docker 映像的 .tar 文件创建的 Docker 映像?

Docker入门系列之四:Docker映像