51

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

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

docker run -it ubuntu

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

4

3 回答 3

58

fcwu/docker-ubuntu-vnc-desktop

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

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

然后在主机上:

在此处输入图像描述

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

sudo docker start ubvnc

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

sudo 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:没有音频。--device /dev/snd没有帮助:

编辑:他们为它添加了一个部分:https ://github.com/fcwu/docker-ubuntu-vnc-desktop/tree/e4922ce92f945fc482994b7a0fd95ca5de7295b3#sound-preview-version-and-linux-only

也可以看看:

测试:

  • Ubuntu 19.04 主机,fcwu/docker-ubuntu-vnc-desktop镜像dorowu/ubuntu-desktop-lxde-vncID:70516b87e92d。
  • Ubuntu 21.10 主机,dorowu/ubuntu-desktop-lxde-vnc:focal(Ubuntu 20.04)
于 2019-08-24T09:18:39.163 回答
8

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

您可以在 domeide.github.io/ 中找到许多此类工作流的示例(本地编译、在 Docker 容器中部署)(Docker 符合 IDE!)
例如:VisualStudio 的 Docker 工具允许您的编辑器和 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。)

于 2016-11-17T15:15:24.683 回答
4

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

请参阅 Stack Overflow 问题您可以在 Docker 容器中运行 GUI 应用程序吗?.

于 2017-12-12T13:14:26.560 回答