如何在Docker映像中打开Ubuntu GUI

如何在Docker映像中打开Ubuntu GUI,ubuntu,docker,docker-image,Ubuntu,Docker,Docker Image,我已经在Windows上的Docker中下载了Ubuntu图像 我可以通过以下方式运行Ubuntu: docker run -it ubuntu 我只看到root,但没有看到Ubuntu GUI。如何为该映像安装或配置GUI并在该GUI上运行应用程序,就像在VM中运行一样?通常,使用Docker开发的方法是将IDE保留在工作站上,并使用源代码生成的二进制文件构建映像 您可以在 例如:允许编辑器和Docker进程之间的紧密集成 (但这是针对Visual Studio 2015的,不是Visua

我已经在Windows上的Docker中下载了Ubuntu图像

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

docker run -it ubuntu

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

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

您可以在
例如:允许编辑器和Docker进程之间的紧密集成


(但这是针对Visual Studio 2015的,不是Visual Studio代码。)

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


请参阅堆栈溢出问题

fcwu/docker ubuntu vnc桌面

提供了方便的设置:

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

  • visit:它运行一个更有限的JavaScript VNC客户端

  • 运行:

    sudo apt-get install tigervnc-viewer
    xtigervncviewer :5900
    
    我也尝试了
    vinagre
    ,但在YouTube上滚动Firefox时就慢多了

    vinagre
    内部,您可能希望能够看到完整的桌面

要退出,只需在终端上杀死
docker
。要重新启动机器,请执行以下操作:

docker start ubvnc
docker stop ubvnc
然后重新连接VNC。然后退出机器:

docker start ubvnc
docker stop ubvnc
在连接之前,必须等待几秒钟,以便来宾服务器上的VNC服务器启动

客人体内的铬不会从菜单开始。如果尝试从命令行启动它,它将解释原因:

Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
因此,只需使用以下命令从CLI运行它:

chromium-browser --no-sandbox
然而,Firefox并不在意

TODO:没有音频<代码>--设备/dev/snd没有帮助:

另见:


在Ubuntu19.04主机上测试,
fcwu/docker UbuntuVNC desktop
dorowu/UbuntuDesktop lxde vnc
图像id:70516b87e92d。

从docker容器中需要Ubuntu GUI的用例是什么?Docker通常运行headless,所以您可以安装X并运行VNC服务器,或者我猜。。。但似乎有些奇怪。Docker镜像应该运行一个应用程序,最典型的是服务器或计算应用程序。有时,它可以访问多个应用程序,但通常不服务于用户界面。UI需要更多的东西,docker并不是一个好的用例。我实际上想编写python代码并调试映像中的所有东西,在ubuntu映像中如何做到这一点?
所有东西
。请说得更具体些。你想调试你的python代码,或者更多?那就用虚拟机吧。这听起来一点都不适合使用docker。谢谢你的澄清,我想我必须在宿主工作站的VS代码中用visual studio编写python代码,并使用ubuntu python库docker图像的图像,对吗?并使用that@ShanKhan这就是我的想法,是的。您可以使用docker run-v和数据卷()将本地文件夹装载到容器中。最后一个链接已断开(404)。在windows计算机上,我们可以安装像realvnc这样的vncviewer,并连接到127.0.0.1:5900。这是最有效的“vnc中的x”解决方案之一。我只希望是侏儒:/