【一文搞定】在Docker中搭建centos7远程桌面环境(Xfce、Gnome两种方式)

目录

    • 前言
    • 一、基于GNOME构建远程桌面
    • 二、基于Xfce构建远程桌面(轻量级)

前言

本文提供两种安装方式,均自己测试过,最后还是选择了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	# 启动容器, 并暴露端口,远程桌面端口是3389docker exec -it centos-desktop-gnome bash	# 进入容器环境yum grouplist	# 查看支持的环境yum groupinstall GNOME Desktop -y	# 安装gnome环境,这个挺大的yum install -y epel-release	# 感兴趣可以查下epel-release和xrdpyum install -y xrdpsystemctl start xrdp	# 启动xrdpsystemctl enable xrdpnetstat -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/initdocker exec -it centos-desktop-xfce bashyum install -y epel-releaseyum install -y xrdpyum 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	# 若重启了容器,也要重启xrdp,否则连不上passwd	# 设置登录密码

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

在这里插入图片描述

然后也按照之前方式打包镜像,大小是1.55G,少了1G
在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/212574.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

致远M3 反序列化RCE漏洞复现(XVE-2023-24878)

0x01 产品简介 M3移动办公是致远互联打造的一站式智能工作平台&#xff0c;提供全方位的企业移动业务管理&#xff0c;致力于构建以人为中心的智能化移动应用场景&#xff0c;促进人员工作积极性和创造力&#xff0c;提升企业效率和效能&#xff0c;是为企业量身定制的移动智慧…

2023-11-23 LeetCode每日一题(HTML 实体解析器)

2023-11-23每日一题 一、题目编号 1410. HTML 实体解析器二、题目链接 点击跳转到题目位置 三、题目描述 「HTML 实体解析器」 是一种特殊的解析器&#xff0c;它将 HTML 代码作为输入&#xff0c;并用字符本身替换掉所有这些特殊的字符实体。 HTML 里这些特殊字符和它们…

HTTPS攻击怎么防御?

HTTPS 简介 超文本传输安全协议&#xff08; HTTPS &#xff09;是一种通过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信&#xff0c;但利用 SSL/TLS 来加密数据包。 HTTPS 开发的主要目的&#xff0c;是提供对网站服务器的身份认证&#xff0c;保护交换数据的…

美国大学陪读签证申请条件是什么?

美国大学陪读签证是留学生的家庭成员在美国陪同留学生就读期间的签证类型。申请该签证需要满足一定的条件&#xff0c;这些条件通常包括&#xff1a; 1.申请人身份关系证明&#xff1a;申请人必须是留学生的家庭成员&#xff0c;如配偶或子女&#xff0c;需要提供证明文件&…

接口自动化测试难点:数据库验证解决方案!

接口自动化中的数据库验证&#xff1a;确保数据的一致性和准确性 接口自动化测试是现代软件开发中不可或缺的一环&#xff0c;而数据库验证则是确保接口返回数据与数据库中的数据一致性的重要步骤。本文将介绍接口自动化中的数据库验证的原理、步骤以及示例代码&#xff0c;帮…

CSS特效017:球体涨水的效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧&#xff0c;主要包含CSS布局&#xff0c;CSS特效&#xff0c;CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点&#xff0c;CSS特效主要是一些动画示例&#xff0c;CSS花边是描述了一些CSS…

〖大前端 - 基础入门三大核心之JS篇㊷〗- DOM事件对象及它的属性

说明&#xff1a;该文属于 大前端全栈架构白宝书专栏&#xff0c;目前阶段免费&#xff0c;如需要项目实战或者是体系化资源&#xff0c;文末名片加V&#xff01;作者&#xff1a;不渴望力量的哈士奇(哈哥)&#xff0c;十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…

golang学习笔记——创建项目

创建项目 从Go 1.8开始&#xff0c;将GOPATH设置为环境变量不是必需的。如果我们没有设置一个&#xff0c;Go使用默认的GOPATH为$HOME/go。可以使用go env查看环境变量信息。 创建项目 # 创建项目目录 mkdir helloLog cd helloLog # 使用go mod初始化项目,生成go.mod文件 go…

数据结构绪论

基本概念 什么是数据结构&#xff1a; 数据: 数据&#xff0c;是对客观事物的符号表示&#xff0c;在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 结构: 线性结构&#xff08;比如图书目录文件&#xff0c;一对一的关系) 树形结构&#xff08;…

基于yolov2深度学习网络的喝水行为检测系统matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、YOLOv2网络原理 4.2、基于YOLOv2的喝水行为检测 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 clc; clear; close all; warning off;…

RabbitMQ消息队列

简介 MQ(message queue)&#xff0c;从字面意思上看就个 FIFO 先入先出的队列&#xff0c;只不过队列中存放的内容是 message 而已&#xff0c;它是一种具有接收数据、存储数据、发送数据等功能的技术服务。 作用&#xff1a;流量削峰、应用解耦、异步处理。 生产者将消息发送…

浅谈Python中的鸭子类型和猴子补丁

文章目录 前言一、鸭子类型二、猴子补丁关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 前言 Python 开发者可能…