我已经在 Windows 上的 Docker 中下载了 Ubuntu 映像。
我可以通过以下方式运行 Ubuntu:
docker run -it ubuntu
我只看到root
,但我没有看到 Ubuntu GUI。如何为该映像安装或配置 GUI 并在该 GUI 上运行应用程序,就像我们在 VM 中运行一样?
我已经在 Windows 上的 Docker 中下载了 Ubuntu 映像。
我可以通过以下方式运行 Ubuntu:
docker run -it ubuntu
我只看到root
,但我没有看到 Ubuntu GUI。如何为该映像安装或配置 GUI 并在该 GUI 上运行应用程序,就像我们在 VM 中运行一样?
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
然后在主机上:
访问: http: //127.0.0.1 :6080/#/运行一个noVNC更有限的 JavaScript VNC 客户端
跑:
sudo apt-get install tigervnc-viewer
xtigervncviewer :5900
要进入全屏模式,请按 F8 并单击菜单条目,或者只需按 F8 后按 T:https ://superuser.com/questions/285843/how-do-i-switch-in-out-of-fullscreen-mode -from-the-command-line-in-realvnc您可能需要在此之后关闭并重新打开屏幕才能使图像变大。
我也试过vinagre
了,但是在 YouTube 上滚动 Firefox 时会慢很多。
在里面vinagre
,您可能想要进入全屏模式才能看到完整的桌面。
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
也可以看看:
测试:
fcwu/docker-ubuntu-vnc-desktop
镜像dorowu/ubuntu-desktop-lxde-vnc
ID:70516b87e92d。dorowu/ubuntu-desktop-lxde-vnc:focal
(Ubuntu 20.04)通常,使用 Docker 进行开发的方法是将 IDE 保留在工作站上,并使用从源代码生成的二进制文件构建映像。
您可以在 domeide.github.io/ 中找到许多此类工作流的示例(本地编译、在 Docker 容器中部署)(Docker 符合 IDE!)
例如:VisualStudio 的 Docker 工具允许您的编辑器和 Docker 进程之间的紧密集成.
(但这是针对 Visual Studio 2015,而不是 Visual Studio Code。)
您可以直接将 Docker 容器连接到您的X服务器。
请参阅 Stack Overflow 问题您可以在 Docker 容器中运行 GUI 应用程序吗?.