千家信息网

如何在tc上安装buildkit.tcz、vscode.tcz、打通vscodeonline与openfaas模拟cloudbase打造碎片化编程开发部署环境

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关如何在tc上安装buildkit.tcz、vscode.tcz、打通vscodeonline与openfaas模拟cloudbase打造碎片化编程开发部署环境,小编觉得挺实
千家信息网最后更新 2026年11月02日如何在tc上安装buildkit.tcz、vscode.tcz、打通vscodeonline与openfaas模拟cloudbase打造碎片化编程开发部署环境

这篇文章将为大家详细讲解有关如何在tc上安装buildkit.tcz、vscode.tcz、打通vscodeonline与openfaas模拟cloudbase打造碎片化编程开发部署环境,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

buildkit.tcz+instant commit

首先,从下载buildkit最新版,它跟docker,openfaas,containerd一样,都是清一色的go binary,采用《一种混合包管理和容器管理方案,及在tinycorelinux上安装containerd和openfaas》同样的tcz构建方法,将下载到的v0.8.1的buildkit包的所有bin放到一个squashfs-root/usr/local/bin中(不用加chmod + x因为下载包里自带),然后新建一个squashfs-root/usr/local/etc/init.d/,里面放二个chmod +x ./buildkit ./makedockerconfig:

这是makedockerconfig中的内容,buildkit+containerd代替了整个docker作构建工具和运行时(containerd不能build,ctr image build没有这个命令),但配置文件用的还是对接dockerhub的那一套。

read -p "enter your dockerhub username:" DOCKERHUB_USERNAMEread -p "enter your dockerhub personal access token:" DOCKERHUB_TOKENrm -rf ~/.docker/config.jsonmkdir -p ~/.docker/cat > ~/.docker/config.json << EOF{    "auths": {        "https://index.docker.io/v1/": {            "auth": "$(echo -n $DOCKERHUB_USERNAME:$DOCKERHUB_TOKENT | base64)"        }    }}EOFcp -f ~/docker/config.json /var/lib/faasd/config.json

解释一下,所谓access token就是一种能代替密码,实现有限权限子账户的机制。dockerhub后台可以得到。由于tc11是没有base64的,这个工具在coreutils.tcz中。稍后建成的buildkit.tcz将依赖一条coreutils.tcz

这是buildkit中的内容,/usr/local/bin/buildkitd &,(你可以按上文添加额外参数设置为runc或containerd后端,默认为runc),为应用包在/init.d/写随着系统启动的启动文件,特别要注意,在命令后必要处加&,否则前台命令会block启动流程。在前文中,faasd和containerd都是这样处理的。

写好dep(依赖coreutils和containerd,attr.tcz:buildkit使用xattr相关命令)和md5.txt,打包成tcz,安装在tc11中,现在来测试一下,建立一个测试仓库并:sudo buildctl build --frontend dockerfile.v0 --local context=./ --local dockerfile=./ --output type=image,name=docker.io/minlearn/dafsdf:latest,出错了:

......=> ERROR exporting to image 0.1serror: failed to solve: rpc error: code = Unknown desc = mount callback failed on /tmp/containerd-mount267804283: mount callback failed on /tmp/containerd-mount706848158: failed to write compressed diff: failed to create diff tar stream: failed to get xattr for /tmp/containerd-mount267804283/bin: operation not supported

这是因为我在tc11中使用的是ext3,构建tc11用的config-5.4.3-tinycore64中并没有开启CONFIG_EXT3_FS,也没有开启CONFIG_EXT3_FS_XATTR,导致buildkit调用xattr相关命令时不成功。因此重新编译内核。注意要sudo make install,不能仅sudo make在arch/boot/x86/compressed下得到vmlinux,而要在install过后的/boot下得到vmlinuz。否则虽然编译成功,但kernel image运行不了,会提示invalid magic number

安装好kernel image,重启,问题解决。你就可以实现在local容器中免registry commit了。最后在命令中按是否需要上传到dockerhub,加个push=true一下。

当然这一切现在只是命令行方式进行,并没有上升到整合为openfaas 8080/ui那个后台的界面功能。但作为上文提到的方案2,接下来的vscode mount就好多了。

vscode.tcz + mount

我们下载的是cdr的code-server-3.8.0-amd64,按 《panel.sh:一个nginx+docker的云函和在线IDE面板,发明你自己的paas(2)》的路子将所有文件解压到squashfs-root的/usr/local/lib/中。然后新建squashfs-root/usr/local/bin,squashfs-root/usr/local/etc/init.d/并依次:

cd squashfs-root/usr/local/bin sudo ln -s ../lib/code-server-3.8.0/bin/code-server code-server sudo chmod +x ./code-server

cd squashfs-root/usr/local/etc/init.d/ sudo touch vscodeonline makevscodeconfig sudo chmod +x ./vscodeonline makevscodeconfig

makevscodeconfig里面放:

read -p "enter your desired access token(plain strings ok):" VSCODE_TOKENrm -rf ~/.config/code-server/config.yamlmkdir -p ~/.config/code-server/cat > ~/.config/code-server/config.yaml << EOFbind-addr: 127.0.0.1:5000auth: passwordpassword: "$(echo $VSCODE_TOKEN)"cert: falseEOFmkdir -p /home/tc/.config/code-server/cp -f /root/.config/code-server/config.yaml /home/tc/.config/code-server/config.yaml

然后是启动vscodeonline的:/usr/local/bin/code-server --config /root/.config/code-server/config.yaml &

直接打包,直接md5,没有dep引用。 --config ~/.config/code-server/config.yaml是需要的,因为code-server似乎存在一个bug,它启动的时候会在~.config下找配置文件,而不是~/.config少了一个/(多了一个/?没仔细看),且它识别不了~,找不到会自动在8080启动vscode服务,导致发生异常,故强行指定/root/.config/。

然后你就可以按https://code.visualstudio.com/docs/remote/containers-advanced尝试vscode.tcz + mount方案了

未来我们将code-server中绑定的nodejs发行版本独立出来用独立tcz代替,这才符合tcz一个软件一个包的适当粒度划分。

关于"如何在tc上安装buildkit.tcz、vscode.tcz、打通vscodeonline与openfaas模拟cloudbase打造碎片化编程开发部署环境"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

命令 文件 内容 方案 篇文章 这是 环境 碎片 开发 编程 成功 上文 后台 容器 工具 更多 测试 独立 管理 编译 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 广东猪兼强互联网科技有限公司 互联网科技公司经营范围 互联网科技公司税收优惠 互联网为科技 港股互联网科技股 科技与互联网发展 互联网科技ppt模板 中国科技互联网公司收入 湖南诚度互联网科技有限公司 广州市恰铎互联网科技有限公司 江苏苏星互联网科技有限公司 从那以后互联网科技有限公司 南京一网一红互联网科技有限公司 湖北辰鑫科技互联网 上海万顺科技互联网有限公司招聘 互联网领先科技活动 互联网大会出现的黑科技 互联网科技创业有什么好项目 高科技和互联网的现代国家 与互联网科技公司 上海互联网科技有限公司 深圳艾佳互联网科技 互联网养老 桔豆科技 互联网科技热点资讯 欧洲十大科技互联网公司 互联网企业和科技型企业 科技互联网大厂 全球科技与互联网公司市值变化 安徽九吞吴互联网科技有限公司
0