首页 > 解决方案 > 如何显示在 Docker 容器内运行的操作系统的 GUI?

问题描述

我想浏览在 Docker 容器中运行的操作系统,就像在典型的虚拟机中一样。

我已经尝试过运行像 firefox 这样的应用程序,这是一个非常常见的示例,但我也想浏览操作系统的图形界面,如下例所示

https://www.youtube.com/watch?v=PXs2aGKt8gU

这是我正在使用的代码,以便在安装了 c++ 编译器的情况下浏览 Ubuntu。

FROM ubuntu:16.04

RUN apt-get update && apt-get install -y \
    gcc \
    g++

理想情况下,我希望能够通过 Web 浏览器或任何其他窗口查看操作系统界面 (GUI),方法是在我的 Mac OS X 和 Cent OS 桌面上运行 Docker。

标签: dockerubuntucontainers

解决方案


运行 GUI 桌面并不是Docker预期的用途。

主要是因为Docker希望您有一个 PID 为 1 的主进程,并且在该进程处于活动状态之前,您的容器被称为正在运行。进程死亡 -> 容器停止。这就是为什么不鼓励在 Docker 中运行多个进程的原因。在运行桌面时(您可能还想在那里启动您最喜欢的 IDE,对吗?)您有很多进程,但不知道哪个是主要的。

如果您不需要 IDE,而只需要更快地浏览容器内的文件,我建议您安装 Midnight Commander ( apt-get install --yes mc) - 它可以使用默认 tty 或 ssh 运行,并且不需要大量设置。在 shell 中打印mc就足以在安装后启动它。


推荐阅读