前言
本文提供两种安装方式,均自己测试过,最后还是选择了Xfce,因为它比较轻量级,占用资源较少。大家也可以都试试,比较感受下。
一、基于GNOME构建远程桌面
GNOME 提供一个现代、直观的用户界面,注重美观和用户友好性。GNOME 通常相对较重,对系统资源的需求较高,GNOME 是一个大型的开源社区项目,内部应用完整。这意味着在性能较低的硬件上可能会感觉较为占用资源,会出现比较卡顿情况,比如我只分配虚拟机2核2G资源,安装连接后桌面就挺卡的,但还是更清晰,功能更完整的,所以看自己资源选哪个。
docker pull centos:7 # 拉取镜像
docker run --name centos-desktop-gnome --privileged -d -p 3389:3389 --ulimit memlock=-1 -td centos:7 /usr/sbin/init # 启动容器, 并暴露端口,远程桌面端口是3389
docker exec -it centos-desktop-gnome bash # 进入容器环境
yum grouplist # 查看支持的环境
yum groupinstall GNOME Desktop -y # 安装gnome环境,这个挺大的
yum install -y epel-release # 感兴趣可以查下epel-release和xrdp
yum install -y xrdp
systemctl start xrdp # 启动xrdp
systemctl enable xrdp # 开机自启
netstat -ntlp |grep xrdp # 检查是否启动成功
passwd # 设置登录密码,然后本地windows输入ip和用户名连接即可
systemctl stop firewalld # 若连不上,很可能就是没关闭防火墙,要注意!!!虚拟机防火墙,容器防火墙
本地windows用远程桌面连接masterIp后,因为最初已经设置了端口映射,所以能直接访问到部署的容器。
连接上后,远程桌面启动终端,ifconfig命令没有的话,可以输入命令yum install -y net-tools
安装一下,这就成功了
如果你想把这个镜像打包,可以再执行下面操作
docker stop <container_name_or_id> # 确保容器处于停止状态
docker commit <container_name_or_id> <new_image_name> # 创建新镜像
docker images # 查看所有镜像
docker start container_name # stop后可用start再启动
这个镜像打包出来,查看镜像发现差不多2.5G,真的大,主要是资源占用比较多,分配内存小,远程桌面用起来贼卡
二、基于Xfce构建远程桌面(轻量级)
Xfce 是一个轻量级、快速、而且资源占用相对较少的桌面环境。它提供了一些基本的桌面功能,但相较于 GNOME 来说,它更注重性能和资源效率,所以用这个再试试。
docker pull centos:7 # 拉取镜像,若已拉取则无需再拉取
docker run --name centos-desktop-xfce --privileged -d -p 3389:3389 --ulimit memlock=-1 -td centos:7 /usr/sbin/init
docker exec -it centos-desktop-xfce bash
yum install -y epel-release
yum install -y xrdp
yum groups install -y Xfce # 基于上面epel-release,得先安装它
yum install -y cjkuni-ukai-fonts # 中文字体
yum install vim # 安装vim编辑器
vim ~/.Xclients
# 编辑如下内容
#!/bin/bash
XFCE="$(which xfce4-session 2>/dev/null)"
exec "$XFCE"
chmod +x ~/.Xclients #执行权限
systemctl start xrdp # 启动
systemctl enable xrdp # 开机自启
passwd # 设置登录密码
安装成功后,本地windows连接进入后,虽然没Gnome那么高清,相比模糊一丢丢,但一点也不卡,进入或操作都很流畅,果然是轻量级
然后也按照之前方式打包镜像,大小是1.55G,少了1G
拓展:若想直接用这种自制Linux桌面环境,只要基于centos7作为基础,再加入桌面化环境,并打包成镜像,就可以上传到远程仓库,然后以后拉取这个打包后的新镜像自动部署即可。
docker save -o <文件名.tar> <镜像名称>:<标签> # 将镜像压缩保存
docker load -i <文件名.tar> # 在新的Linux环境加载安装镜像
docker images # 查看镜像列表
可能存在的问题:
如果用docker commit构建出现k8s集群中创建pod选中构建的容器一直无法启动,排除自身人为制作镜像的错误后,很大可能是因为没有EntryPoint,导致容器运行起来后,由于没有常驻进程,就立马退出,于是状态就一直crackbackoff。
解决办法:vim Dockerfile
后编辑以下内容
FROM centos7-desk:tag # 自己制作的镜像
# 设置 ENTRYPOINT
ENTRYPOINT ["/usr/sbin/init"]
在DockerFile所在目录输入文章来源:https://www.toymoban.com/news/detail-772847.html
docker build -t final-image:tag .
用这个构建的新镜像即可,新镜像加入了ENTRYPOINT
文章来源地址https://www.toymoban.com/news/detail-772847.html
到了这里,关于在Docker中搭建centos7远程桌面环境(Xfce、Gnome两种方式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!