我已经在Windows上的Docker中下载了Ubuntu镜像。
我可以通过以下方式运行Ubuntu:
docker run -it ubuntu
我只看到root
,但我看不到Ubuntu的图形用户界面(GUI)。我如何安装或配置GUI以在其上运行应用程序,就像我们在VM中运行一样?
我已经在Windows上的Docker中下载了Ubuntu镜像。
我可以通过以下方式运行Ubuntu:
docker run -it ubuntu
我只看到root
,但我看不到Ubuntu的图形用户界面(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
然后在主机上执行以下操作之一:
visit: http://127.0.0.1:6080/#/ which runs a noVNC more limited JavaScript VNC client
run:
sudo apt-get install tigervnc-viewer
xtigervncviewer :5900
To go into fullscreen mode, hit F8 and click on menu entry, or just F8 followed by T: https://superuser.com/questions/285843/how-do-i-switch-in-out-of-fullscreen-mode-from-the-command-line-in-realvnc You might need to close and reopen the screen after that for the image to get larger.
I also tried vinagre
, but it was much laggier when scrolling Firefox on YouTube.
Inside vinagre
, you might want to go into full screen mode to be able to see the full desktop
要退出只需在终端上杀死docker
。 要重新启动机器:
sudo docker start ubvnc
然后重新连接VNC。要退出机器:
sudo docker stop ubvnc
Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
所以只需在CLI中运行以下命令:
chromium-browser --no-sandbox
然而,Firefox并不在意。
待办事项:没有音频。使用--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 meets the IDE!) 找到许多此类工作流程(本地编译,部署在Docker容器中)的示例。
例如:Docker Tools for VisualStudio 允许在您的编辑器和Docker进程之间进行紧密集成。
$ xhost +
之后,您需要了解显示器的参数。
$ echo $DISPLAY
$ docker container run --rm --net host -v /tmp/.X11-unix:/tmp/.X11-unix -it image_name:tag
$ export DISPLAY=:0
现在你可以运行你的GUI应用程序了。