前言

今天我给服务器更换了一个新的代理工具(梯子),之前使用的工具速度较慢,因此尝试了一款付费代理工具。该工具支持电脑、手机以及 Linux 系统,但仅支持 Ubuntu 和 Debian 等发行版。由于我的阿里云服务器运行的是 CentOS 系统,无法直接使用该工具。因此,我决定在 Docker 中创建一个轻量化的 Ubuntu 桌面环境,主要用于运行 VPN。下面是在浏览器中访问的主界面。

步骤

1、安装Docker Compose

如果尚未安装 Docker Compose,可以通过以下命令进行安装:

在 Linux 上安装 Docker Compose
1) 下载最新版本的 Docker Compose:

1
sudo curl -L https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2) 添加执行权限
1
sudo chmod +x /usr/local/bin/docker-compose

3) 检查是否安装成功
1
docker-compose --version

2、创建 docker-compose.yml 文件

在任意目录下创建一个 docker-compose.yml 文件。
示例 docker-compose.yml 文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
version: '3'
services:
ubuntu-desktop:
image: dorowu/ubuntu-desktop-lxde-vnc:latest
container_name: ubuntu-desktop-lxde-vnc
ports:
- "5901:5900" # 将容器的 VNC 端口 5901 映射到宿主机的 5901
- "5905:80" # 映射 noVNC 的 Web 端口
environment:
- VNC_PASSWORD=XXXXXXX # 设置 VNC 密码
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix # 映射 X11 Unix 套接字
devices:
- /dev/fuse # 挂载 FUSE 设备
cap_add:
- SYS_ADMIN # 添加管理员权限
restart: unless-stopped # 如果容器停止,自动重启

本次教程使用的镜像是ubuntu-desktop-lxde-vnc是一个基于 Docker 容器的 Ubuntu 桌面环境镜像,它结合了 LXDE(轻量级 X11 桌面环境)和 VNC(虚拟网络计算)技术,允许用户通过图形界面远程访问 Ubuntu 系统。这种配置非常适合需要通过远程桌面访问 Ubuntu 环境的场景,尤其是在资源有限或希望使用轻量级桌面环境时。

3、使用 Docker Compose 启动服务

创建好 docker-compose.yml 文件后,在该文件所在的目录下运行以下命令来启动容器:

1
sudo docker-compose up -d

这时,Docker Compose 会自动拉取 dorowu/ubuntu-desktop-lxde-vnc 镜像(如果没有拉取过),然后启动该镜像,并根据配置启动 VNC 服务。

4、配置nginx代理

示例配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
server {

listen 443 ssl;
server_name umami.aimiliy.top;

ssl_certificate /opt/nginx/nginx-http2/ssl/scs1734430291795_umami.aimiliy.top_server.crt;
ssl_certificate_key /opt/nginx/nginx-http2/ssl/scs1734430291795_umami.aimiliy.top_server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
# 添加防盗链
# valid_referers none blocked *.aimiliy.top;
# if ($invalid_referer) {
# 如果防盗链不通过,返回 403 禁止访问
# return 403;
# }

proxy_pass http://127.0.0.1:3000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

location /ubuntu/ {
proxy_pass http://127.0.0.1:5905/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $scheme://$host/ubuntu;
}

}

最后重启nginx在服务器访问你配置的域名或ip即可。

总结

这款镜像的功能其实并不全面,但其主要的优点就是轻量、占用低,满足一些基本的功能。比如我这边就只需要挂个VPN就行,但是如果想要更多其他的功能,可以在官网去看一下其他更高级功能也更全面镜像,但是其资源占用也会相对较大。