我想为 GUI 应用程序(例如 Chrome)创建一个 docker 映像,并且希望这个 GUI 应用程序可以在没有安装 X 服务器的裸 Linux 服务器上运行。
我知道为 X Window 客户端(GUI 应用程序本身)创建和运行 docker 映像非常容易。这需要在主机上安装并运行 X 服务器。
sudo docker run -ti -v /tmp/.X11-unix:/tmp/.X11-unix xorg xterm -display :0
Run Code Online (Sandbox Code Playgroud)
但对我来说,我需要 X 客户端和服务器都在 docker 容器中运行。
这是我的 dockerfile:
FROM ubuntu:14.04
RUN apt-get update && apt-get install -y xorg
Run Code Online (Sandbox Code Playgroud)
我通过命令运行图像:
sudo docker run -i -t --rm -e DISPLAY=:0 --privileged xorg xinit
Run Code Online (Sandbox Code Playgroud)
X 服务器可以启动,屏幕变黑,几秒钟后,xterm 窗口显示。但是,我无法使用键盘和鼠标。屏幕似乎冻结了
我搜索并尝试了很多解决方案,但没有人能解决这个问题。(我不需要虚拟x服务器)