给docker中的ubuntu系统安装桌面程序

原本服务器是centos的,用的不是很习惯,也为了可以分割功能,于是在服务器上装了docker,docker里装了ubuntu系统,具体过程可以参见https://blog.csdn.net/hpf247/article/details/80078240中的内容。但是这样只能连到一个命令行,用的还是不习惯,于是找了一个给linux系统安装桌面程序方法使得我们可以远程访问docker中的桌面

由于远程桌面访问必须要打开端口3389,所以在启动docker中ubuntu系统的时候要首先将linux系统的3389端口映射出来

 docker run -tid -p 10000:22 -p 10001:3389 --name lalashi --privileged=true ceshi /bin/bash

这里我们将docker中ubuntu系统的端口22映射到外面的10000端口上(为了上传一些文件),将docker中linux系统的端口3389映射到外面的10001端口上(为了可以远程访问)

接下来进入到ubuntu中

docker exec -it lalashi /bin/bash

首先我们安装XFCE桌面,注意我们要有sudo的权限安装

sudo apt update
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

接下来,我们安装xrdp以保证可以实现远程连接

sudo apt install xrdp

默认情况下,Xrdp 使用/etc/ssl/private/ssl-cert-snakeoil.key文件对于『ssl-cert』用户组成员可读。执行下面的命令将xrdp用户添加到这个用户组:

sudo adduser xrdp ssl-cert

之后我们需要配置xrdp,首先打开xrdp的配置文件,添加一些内容,并且开启xrdp服务

sudo vim /etc/xrdp/xrdp.ini
exec startxfce4
sudo service xrdp start

由于开启3389端口是十分危险的,所以需要开防火墙防护(由于我是开在docker中的,所以这部操作没有做),但如果是开在外面的服务器上,一定要做这一步

想要允许 对于 Xrdp 服务器的来自于某个 IP 地址或者某个 IP 范围的访问,在这个例子中192.168.1.0/24,运行下面的命令:

sudo ufw allow from 192.168.1.0/24 to any port 3389

这时我们就已经完成了服务器上的配置,下面我们打开本机远程连接连接即可。

注意由于docker的3389端口是映射到了外面服务器的10001端口,所以我们要连接的是服务器的10001的端口,连入的结果如下图所示,我们输入密码即可

 

开始连入的时候可能存在着命令行打不开的情况,可以点击上方的 applications,点击settings,再点击settings manager。选择perferred applications

选择 utilities,将file manger改为Thunar,并将Terminal Emulator改为xfce Terminal即可

### 如何在 Ubuntu 操作系统安装 Docker Desktop #### 验证系统需求 确保所使用的 Ubuntu 版本兼容 Docker Desktop。官方推荐版本通常为较新的长期支持 (LTS) 发行版,如 Ubuntu 20.04 或更高版本[^1]。 #### 安装必要的前置组件 由于 Docker Desktop 主要针对 Windows 和 macOS 提供原生应用,在 Ubuntu 上则需通过特定方式部署。对于希望获得类似体验的用户来说,可以考虑使用 Snap Store 来获取适用于桌面环境的应用程序包;然而更常见的做法是在服务器环境下直接配置 Docker Engine。 #### 设置 Docker APT 存储库 为了简化后续更新过程以及保证软件源的安全性和稳定性,建议先添加官方维护的 apt-get 软件仓库: ```bash sudo apt update && sudo apt install ca-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 上述命令会下载 GPG 密钥并将其保存到 `/usr/share/keyrings/` 下,同时创建一个新的 sources.list 文件用于指向 Docker 的稳定分支存储库[^3]。 #### 安装 Docker CE 及其 CLI 工具集 接下来执行常规的 `apt-get update` 并指定安装所需的 deb 包文件列表。这里需要注意的是,如果打算手动下载 .deb 文件,则应遵循正确的依赖顺序进行安装: ```bash sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin ``` 此步骤完成后即代表已经成功设置了 Docker 引擎服务端与客户端工具链。 #### 获取并启动 Docker Desktop 应用镜像 虽然 Docker Inc 不再提供 Linux 版本的独立桌面应用程序,但是可以通过运行由社区贡献者维护的一个轻量级图形界面管理面板来实现相似的功能——Portainer Business Edition 就是一个不错的选择。当然也可以利用其他开源项目如 Kitematic 或是借助浏览器访问远程主机上的 Web UI 接口来进行日常管理工作[^2]。 另外一种方法就是采用官方提供的 Docker App for Linux Beta 计划中的 Flatpak 打包形式,不过这可能涉及到额外的操作系统层面的支持性调整。 #### 注意事项 - 对于个人开发者而言,除非确实有必要处理复杂的 GUI 类型的任务场景,否则一般情况下仅需关注命令行下的操作即可满足大部分开发测试的需求。 - 如果计划在同一台机器上面既保留 WSL2 环境又想要单独启用 Docker Desktop 实例的话,请务必确认两者之间不会发生冲突,尤其是网络连接方面的问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值