前言

本文提供两种安装方式,均自己测试过,最后还是选择了Xfce,因为它比较轻量级,占用资源较少。大家也可以都试试,比较感受下。

一、基于GNOME构建远程桌面

GNOME 提供一个现代、直观的用户界面,注重美观和用户友好性。GNOME 通常相对较重,对系统资源的需求较高,GNOME 是一个大型的开源社区项目,内部应用完整。这意味着在性能较低的硬件上可能会感觉较为占用资源,会出现比较卡顿情况,比如我只分配虚拟机2核2G资源,安装连接后桌面就挺卡的,但还是更清晰,功能更完整的,所以看自己资源选哪个。

  1. docker pull centos:7 # 拉取镜像
  2. docker run --name centos-desktop-gnome --privileged -d -p 3389:3389 --ulimit memlock=-1 -td centos:7 /usr/sbin/init # 启动容器, 并暴露端口,远程桌面端口是3389
  1. docker exec -it centos-desktop-gnome bash # 进入容器环境3.
  2. yum grouplist # 查看支持的环境
  3. yum groupinstall GNOME Desktop -y # 安装gnome环境,这个挺大的
  4. yum install -y epel-release # 感兴趣可以查下epel-release和xrdp
  5. yum install -y xrdp
  6. systemctl start xrdp # 启动xrdp
  7. systemctl enable xrdp # 开机自启
  8. netstat -ntlp |grep xrdp # 检查是否启动成功
  9. passwd # 设置登录密码,然后本地windows输入ip和用户名连接即可
  10. systemctl stop firewalld # 若连不上,很可能就是没关闭防火墙,要注意!!!虚拟机防火墙,容器防火墙

本地windows用远程桌面连接masterIp后,因为最初已经设置了端口映射,所以能直接访问到部署的容器。

连接上后,远程桌面启动终端,ifconfig命令没有的话,可以输入命令

yum install -y net-tools安装一下,这就成功了
2024-09-11T01:52:51.png

如果你想把这个镜像打包,可以再执行下面操作

  1. docker stop <container_name_or_id> # 确保容器处于停止状态
  2. docker commit <container_name_or_id> <new_image_name> # 创建新镜像
  3. docker images # 查看所有镜像
  4. docker start container_name # stop后可用start再启动

这个镜像打包出来,查看镜像发现差不多2.5G,真的大,主要是资源占用比较多,分配内存小,远程桌面用起来贼卡

二、基于Xfce构建远程桌面(轻量级)

Xfce 是一个轻量级、快速、而且资源占用相对较少的桌面环境。它提供了一些基本的桌面功能,但相较于 GNOME 来说,它更注重性能和资源效率,所以用这个再试试。

  1. docker pull centos:7 # 拉取镜像,若已拉取则无需再拉取
  2. docker run --name centos-desktop-xfce --privileged -d -p 3389:3389 --ulimit memlock=-1 -td centos:7 /usr/sbin/init
  3. docker exec -it centos-desktop-xfce bash
  4. yum install -y epel-release
  5. yum install -y xrdp
  6. yum groups install -y Xfce # 基于上面epel-release,得先安装它
  7. yum install -y cjkuni-ukai-fonts # 中文字体
  8. yum install vim # 安装vim编辑器
  9. vim ~/.Xclients

    # 编辑如下内容
    #!/bin/bash
    XFCE="$(which xfce4-session 2>/dev/null)"
    exec "$XFCE"

  10. chmod +x ~/.Xclients #执行权限
  11. systemctl start xrdp # 启动
  12. systemctl enable xrdp # 开机自启
  13. passwd # 设置登录密码

安装成功后,本地windows连接进入后,虽然没Gnome那么高清,相比模糊一丢丢,但一点也不卡,进入或操作都很流畅,果然是轻量级
2024-09-11T01:53:23.png

然后也按照之前方式打包镜像,大小是1.55G,少了1G
2024-09-11T01:53:43.png

拓展:若想直接用这种自制Linux桌面环境,只要基于centos7作为基础,再加入桌面化环境,并打包成镜像,就可以上传到远程仓库,然后以后拉取这个打包后的新镜像自动部署即可。

  1. docker save -o <文件名.tar> <镜像名称>:<标签> # 将镜像压缩保存
  2. docker load -i <文件名.tar> # 在新的Linux环境加载安装镜像
  3. docker images # 查看镜像列表

可能存在的问题:

如果用docker commit构建出现k8s集群中创建pod选中构建的容器一直无法启动,排除自身人为制作镜像的错误后,很大可能是因为没有EntryPoint,导致容器运行起来后,由于没有常驻进程,就立马退出,于是状态就一直crackbackoff。

解决办法:
vim Dockerfile 后编辑以下内容

FROM centos7-desk:tag    # 自己制作的镜像
# 设置 ENTRYPOINT
ENTRYPOINT ["/usr/sbin/init"]

在DockerFile所在目录输入

docker build -t final-image:tag .

用这个构建的新镜像即可,新镜像加入了ENTRYPOINT

原文链接:https://blog.csdn.net/weixin_39615182/article/details/134580706

标签: none

添加新评论