如何在Docker镜像中打开Ubuntu GUI

时间:2016-11-17 14:56:53

标签: ubuntu docker docker-image

我已在Windows上的Docker中下载了Ubuntu映像。

我可以通过以下方式运行Ubuntu:

docker run -it ubuntu

我只看到root,但我没有看到Ubuntu GUI。如何为该映像安装或配置GUI并在该GUI上运行应用程序,就像我们在VM中运行一样?

3 个答案:

答案 0 :(得分:8)

fcwu/docker-ubuntu-vnc-desktop

https://github.com/fcwu/docker-ubuntu-vnc-desktop提供了方便的设置:

docker run --name ubvnc -p 6080:80 -p 5900:5900 dorowu/ubuntu-desktop-lxde-vnc:bionic

然后:

  • 访问:http://127.0.0.1:6080/#/,它运行一个noVNC受限制的JavaScript VNC客户端

  • 运行:

    sudo apt-get install tigervnc-viewer
    xtigervncviewer :5900
    

    然后在vinagre内,您可能想go into full screen mode才能看到完整的桌面

    我也尝试过vinagre,但是在YouTube上滚动Firefox时要慢得多。

enter image description here

要退出,只需在终端上杀死docker。并重新启动机器

docker start ubvnc

,然后重新连接VNC。然后退出机器:

docker stop ubvnc

在连接之前,您必须等待几秒钟以使客户机上的VNC服务器启动。

铬不会从菜单中启动。如果您尝试从命令行启动它,则会说明原因:

Running as root without --no-sandbox is not supported. See https://crbug.com/638180.

但是Firefox不在乎。

TODO:没有音频。 --device /dev/snd没有帮助:

另请参阅:

在Ubuntu 19.04主机fcwu/docker-ubuntu-vnc-desktopdorowu/ubuntu-desktop-lxde-vnc图像ID:70516b87e92d上进行了测试。

答案 1 :(得分:5)

通常,使用Docker进行开发的方法是将IDE保留在工作站上,并使用从源生成的二进制文件构建映像。

您可以在domeide.github.io/ (Docker meets the IDE!)中找到许多此类工作流程示例(本地编译,在Docker容器中部署) 例如:Docker Tools for VisualStudio允许编辑器和Docker进程之间的紧密集成。

https://microsoftcloudexplorer.gallerycdn.vsassets.io/extensions/microsoftcloudexplorer/visualstudiotoolsfordocker-preview/0.41.0/1478598789732/205468/1/add-docker-support.png

(但这适用于Visual Studio 2015,而非Visual Studio Code。)

答案 2 :(得分:1)

您可以直接将Docker容器连接到X服务器。

请参阅堆叠溢出问题 Can you run GUI applications in a Docker container?