我已在Windows上的Docker中下载了Ubuntu映像。
我可以通过以下方式运行Ubuntu:
docker run -it ubuntu
我只看到root
,但我没有看到Ubuntu GUI。如何为该映像安装或配置GUI并在该GUI上运行应用程序,就像我们在VM中运行一样?
答案 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时要慢得多。
要退出,只需在终端上杀死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-desktop
,dorowu/ubuntu-desktop-lxde-vnc
图像ID:70516b87e92d上进行了测试。
答案 1 :(得分:5)
通常,使用Docker进行开发的方法是将IDE保留在工作站上,并使用从源生成的二进制文件构建映像。
您可以在domeide.github.io/ (Docker meets the IDE!)中找到许多此类工作流程示例(本地编译,在Docker容器中部署) 例如:Docker Tools for VisualStudio允许编辑器和Docker进程之间的紧密集成。
(但这适用于Visual Studio 2015,而非Visual Studio Code。)
答案 2 :(得分:1)
您可以直接将Docker容器连接到X服务器。
请参阅堆叠溢出问题 Can you run GUI applications in a Docker container? 。