本仓库中的代码源自 https://github.com/lizrice/containers-from-scratch 。
本仓库中的 ubuntufs.tar 文件也是原作者在 Docker 仓库中提供的。
用几十行Go语言代码写一个小型的容器。
cd /root
wget https://go.dev/dl/go1.21.3.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21.3.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
如果 wget 下载太慢或超时,可以用浏览器下载,然后传到服务器上。
下载本仓库中的 ubuntufs.tar 文件,这是一个作者提供的 Ubuntu 20.04 的文件系统,大小约为 72M
把文件放到 /root 目录下
执行以下命令,解压文件系统
cd /root
mkdir -p /home/liz/ubuntufs
tar xf ubuntufs.tar -C /home/liz/ubuntufs/
mkdir -p /home/liz/ubuntufs/mytemp
下载本仓库中的 main.go 文件
把文件放到 /root 目录下
cd /root
go run main.go /bin/bash
如果一切正常,你会看到一个 shell(注意这已经是容器中shell了),输入 exit 退出。大概长这样:
Running [/bin/bash]
root@container:/#

建议把设置项 File | Settings | Go | Build Tags & Vendoring 改为 linux,以减少 IDE 的错误:

$ claude mcp add mini-container \
-- python -m otcore.mcp_server <graph>