把 AI 容器平台改成,云端开发工作站,实测部署高配 Docker 容器,“自动化运维与保活技术分享”!

 说实话,第一次看到”Hugging Face 可以白嫖128G内存的服务器”这个说法,我的第一反应是——这肯定是夸大宣传,或者有什么隐藏的巨大限制。Hugging Face 我用过,主要是拿来下模型权重和看开源项目,印象里是个 AI 模型托管平台,和”免费VPS”这个概念放在一起,怎么听怎么别扭。

但朋友圈里有人分享了实测截图,终端里free -h跑出来的数字明明白白写着128G物理内存,CPU 是16核至强,主频 3.5GHz。我把那张图盯着看了几秒,决定自己跑一遍验证一下。

这篇文章就是把整个流程记录下来,包括我中间踩的几个坑,以及最后实测数据和这台机器能用来做什么的个人判断。

原理是什么:Hugging Face Spaces 的 Docker 容器

在开始之前,先简单说一下这个方案的底层逻辑,不然后面的步骤会让人看得一头雾水。

Hugging Face 有一个叫 Spaces 的功能,原本是用来托管 AI 应用演示的,支持多种运行环境,其中包括 Docker 容器。平台给每个 Space 分配的计算资源相当可观——正是这个免费的 Docker 运行环境,让它可以被改造成一台临时服务器来使用。

再加上 Pinggy 这个工具做定时监控和保活,就可以让这个”服务器”维持24小时在线状态,而不是一段时间没有请求就自动休眠。两个工具组合起来,就是这套方案的核心机制。

第一步:注册 Hugging Face 账号

首先来到Hugging Face的官方网站:【点击前往】

来到 Hugging Face 官网,点右上角注册,填入邮箱和密码(密码需要有一定复杂度,纯数字或者太短都会被拒),提交之后还需要填写用户名和全名,这里随便填都行。勾上同意条款,点创建账户。

提交之后平台会往你填的邮箱发一封验证邮件,里面有一个验证链接,点开之后通过验证,账号就算真正建好了。这一步没什么特别要注意的地方,就是有时候验证邮件会进垃圾箱,找不到的话先去垃圾箱翻一下。

第二步:创建 Docker Space

登录之后,点右上角头像,选”New Space”。

进入创建页面之后,几个选项需要注意:

  • 名称:随便填,比如vps123,不影响功能
  • 容器类型:选 Docker
  • 模板:一定要选 Blank(空白模板),不要选其他预设模板,否则后面的配置会有冲突
  • 可见性:改成 Private(私有),不要用公开模式,私有模式下别人看不到你的 Space 配置和连接信息,更安全

选好之后点”Create Space”。

Hugging Face 的 New Space 创建配置页面-1

Hugging Face 的 New Space 创建配置页面-2

第三步:设置登录密码

Space 创建好之后,点右上角的”Settings(设置)”,往下拉找到”Variables and Secrets(变量与机密)”这个区域,点右边的”New Secret”。

在 Name 这一栏填入PASSWORD,在 Value 这一栏填入你想设置的密码(比如root,但如果是正经用途建议设一个复杂一点的密码),然后点 Save 保存。

这个密码就是后面连接终端时需要输入的登录凭据,填完记住它,后面要用。

Settings 里的 Variables and Secrets 页面

第四步:上传 Dockerfile 启动服务器

回到 Space 的 App 页面,往下拉,找到”Create the Dockerfile”选项,点进去,把配置代码粘贴进去(完整代码可以在相关博客或视频说明里找到,直接复制粘贴,不需要手动写),然后点下方的”Commit new file”提交。

下面是这个启动器的代码:

FROM ubuntu:24.04

# Prevent interactive prompts during installation
ENV DEBIAN_FRONTEND=noninteractive

# Update system and install base packages + Ubuntu utilities
RUN apt-get update && apt-get install -y \
curl \
sudo \
git \
wget \
build-essential \
python3 \
python3-pip \
&& rm -rf /var/lib/apt/lists/*

# Install the latest version of code-server using the official Ubuntu script
RUN curl -fsSL https://code-server.dev/install.sh | sh

# Give the built-in 'ubuntu' user (UID 1000) passwordless sudo rights
RUN echo "ubuntu ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

# Prepare safe workspace directories inside the default ubuntu profile
RUN mkdir -p /home/ubuntu/workspace && chown -R ubuntu:ubuntu /home/ubuntu

USER ubuntu
WORKDIR /home/ubuntu/workspace

# Hugging Face app port
EXPOSE 7860

# Start code-server
CMD ["code-server", "--bind-addr", "0.0.0.0:7860", "--auth", "password"]

提交之后平台会开始自动构建容器,这个过程需要等一段时间,耐心等待。等到状态变成绿色的”Running”,就说明服务器已经成功启动了。这一步是整个流程里等待时间最长的环节,我当时大概等了三到五分钟。

Hugging Face 空间顶部状态栏从 Building 变成绿色的 Running 状态。

第五步:Pinggy 保活监控配置

服务器跑起来了,但 Hugging Face 的 Space 如果长时间没有请求,会自动进入休眠状态。要让它保持24小时在线,需要用 Pinggy 来定时发送请求保活。

来到 Pinggy 官网注册账号,同样用邮箱登录。这里有一个小坑:如果浏览器开着翻译插件,注册的时候可能会提示”获取失败”之类的错误,把翻译关掉重新提交就好了。

我们还是来到Pinggy的网页:【点击前往】

Pinggy(叮咚监控)的 Dashboard(大盘)主界面。

注册成功之后,回到 Hugging Face 的 Space 页面,把上面的地址修改一下,比如:https://(buxs)-(vps123).hf.space ,把括号里面的地址修改成你自己的,记得要把括号删掉,比如我的地址是:https://buxs-vps123.hf.space,然后回到 Pinggy,点右上角”New Monitor”,把地址粘贴进去,点”Create Monitor”创建。

为了保险起见,我建了两个监控——Space 的主地址一个,另一个备用连接地址再建一个。两个监控同时跑,其中一个出问题也有备份。这样的话会有双保险的作用!

配置好之后,Pinggy 会定时向这个地址发送请求,让服务器保持活跃状态。

第六步:进入终端,验证配置

监控建好之后,打开 Space 的连接地址,在登录页面输入之前设置的密码,点击 Submit 确认,就可以进入 VPS 的网页终端界面了。

进入之后,点左上角三条横线,选”Terminal”→”New Terminal”,打开命令行窗口。

依次运行以下命令:

# 获取 root 权限
sudo su

# 更新软件包列表
apt update

# 安装系统信息展示工具
apt install -y neofetch

# 查看详细配置
neofetch

实测出来的数据,和之前看到的截图一致:

  • CPU:16核至强,主频 3.5GHz
  • 物理内存:128G,当前占用不到 8G
  • 系统:Linux,内核版本较新

这个配置如果放到云服务商去租,一个月几千块钱是保守估计。

在网页端 Terminal 命令行里跑完 neofetch 后的完整黑窗口特效图

这台机器能用来做什么

有了这台免费服务器,实际能干的事情不少,下面是我觉得比较适合的几个方向:

部署网页工具站:128G内存完全可以跑多个轻量级网页服务,个人工具站、在线转换工具、API 代理等都没问题。

跑本地大模型:内存够大,完全可以在上面部署一些中等规模的开源大模型,用作个人 AI 助手或者开发测试环境,不需要花钱租 GPU 服务器。

游戏服务器:视频里提到了帕鲁(Palworld)这类对内存有一定要求的多人游戏服务器,16核+128G这个配置跑起来应该相当流畅,有兴趣的可以试试。

开发测试环境:需要大内存跑数据处理脚本、机器学习训练任务(CPU版本)的场景,这台机器的规格也完全能胜任。

需要说清楚的是:平台有使用条款,搭建代理节点这类用途在实测中确实技术上可行,但账号被封的概率很高,不建议走这条路。老老实实用来跑正经项目,资源够用而且安全。

几个需要注意的细节

翻译插件随手关掉:整个流程里有好几个输入密码或者复制地址的环节,翻译插件开着容易把字符搞乱,出现莫名其妙的错误。遇到填了内容提交失败的情况,第一件事就是关翻译重试。

Space 可见性设为 Private:这一步很多人会忽略,但很重要。公开的 Space 意味着你的连接地址和配置对所有人可见,私有模式才能保证只有你自己能访问。

Pinggy 监控至少建两个:保活机制不要只靠一个监控点,万一那个地址出问题,整个服务就断了。多建一个备份成本很低,稳定性会好很多。

密码不要用太简单的root这种密码只适合临时演示,真正拿来部署项目的话,设一个稍微复杂一点的密码,安全感会好很多。

写在最后

跑完整个流程,我对这个方案的总体评价是:真的能用,配置数据没有注水,但它本质上是在 Hugging Face 的 Spaces 功能上做二次利用,平台随时可能调整策略或者资源分配,长期稳定性需要打一个问号。

用来做实验、跑临时项目、测试想法,这个免费资源完全值得利用起来;如果是对稳定性有硬性要求的生产环境,还是建议用付费的专用服务器更保险。

有兴趣的话可以按上面的步骤自己跑一遍,整个流程花不了太长时间,实际感受一下128G内存是什么体验。