如何在docker中运行ubuntukylin桌面系统
背景由于要和开源社合办一个活动,要求线上线下同时进行,需要使用对方的云平台,本来以为只需要提供iso镜像就行了,没想到对方只支持docker镜像。虽然之前用过docker,但是完全没想过docker里跑桌面。思路调研和已有开源项目说实话,由于没怎么接触过docker,所以花了一上午时间看了下docker实践教程,但是对如何运行桌面还是没什么头绪。但是我之前在win10刚出wsl的时候好奇去尝试过,
背景
由于要和开源社合办一个活动,要求线上线下同时进行,需要使用对方的云平台,本来以为只需要提供iso镜像就行了,没想到对方只支持docker镜像。虽然之前用过docker,但是完全没想过docker里跑桌面。
思路调研和已有开源项目
说实话,由于没怎么接触过docker,所以花了一上午时间看了下docker实践教程,但是对如何运行桌面还是没什么头绪。但是我之前在win10刚出wsl的时候好奇去尝试过,当时有一种使用ximage映射使wsl运行图形界面的方案,我猜测docker也可以通过这种类似远程桌面的方式来跑桌面。
同时我又寻找了一些开源项目,这里不得不吐槽下,大家似乎对在docker里启桌面都没什么兴趣,相关资料是真的少…
首先是kde neno,kde neno有docker镜像的试用,看了下发现采用的是xserver-xwphyr这个方案,但是对于docker镜像的细节并看不到,遂放弃。
然后我想到了deepin,似乎曾经听说过他们有相应的docker镜像,我抱着试试看的心态去找了找,发现确实有一个在docker里运行桌面的方案,然而是使用xdocker,这个显然不符合我的预期,只能放弃。
最后终于在github上找到了这个docker-ubuntu-vnc-desktop 这个项目是在docker里运行lxde桌面的ubuntu,并通过浏览器来访问。效果如下
效果相当不错,赶紧看看人家的dockerfile是如何构建的
拉取镜像:
docker pull dorowu/ubuntu-desktop-lxde-vnc
运行容器:
docker run -p 6080:80 -p 5900:5900 -e VNC_PASSWORD=VNC登录的密码 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
该镜像以VNC的方式连接到桌面环境服务器,可以下载个VncViewer 作为客户端连接到容器
注意,这里的容器暴露了两个端口
6080:是web版的vnc,可以在浏览器上直接访问桌面环境
5900:是使用客户端工具连接的端口
显示分辨率可以通过环境变量来控制 如下:
docker run -p 6080:80 -e RESOLUTION=1920x1080 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
附件 |
如何在docker中运行ubuntukylin桌面系统.docx
|
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)