记录容器云基于debian镜像的自由组合

news/2025/11/30 18:30:16/文章来源:https://www.cnblogs.com/zhahost/p/19289885

当然很多镜像都是有着专用的功能,这也是docker的设计目标,但是有时候我们也想把docker当vps使用。

所以,就想基于debian的镜像自由发挥。。。

 

第一步:基于 debian:12-slim 开启一个容器

关键要设置:挂载一个目录,比如/app,这个后面是自由发挥的舞台和空间,他不会随着容器的重启而消失!

基于 debian 的容器当然是无法直接启动,没有主进程啊,所以重点启动命令是 /bin/tail -f /dev/null

当然这个命令啥也不会干,但是app有了,命令行也可以使用了。

 

第二步:需要一个进程管理工具supervisor

你必须下载轻量级版本的:https://github.com/ochinchina/supervisord/releases/download/v0.7.3/supervisord_0.7.3_Linux_64-bit.tar.gz

不要使用基于python的,太重了。解压出来supervisord文件上传到 /app/bin,然后在命令行执行 chmod +x supervisord

现在你可以考虑你准备要supervisord帮你启动啥小工具了,比如我的配置文件:

[supervisord]
nodaemon=true
logfile=/app/logs/supervisord.log
pidfile=/app/run/supervisord.pid
user=root; ===========================================
; Sing-box
; ===========================================
[program:singbox]
command=/app/bin/sing-box run -c /app/etc/singbox.json
autostart=true
autorestart=true
stdout_logfile=/app/logs/singbox.log
stderr_logfile=/app/logs/singbox.err
startretries=3
startsecs=5; ===========================================
; Cloudflared Tunnel
; ===========================================
[program:cloudflared]
command=/app/bin/cloudflared tunnel run --token $CF_TUNNEL_TOKEN
autostart=true
autorestart=true
stdout_logfile=/app/logs/cloudflared.log
stderr_logfile=/app/logs/cloudflared.err
startretries=3
startsecs=5

当然配置文件要启动的工具也要准备,不然启动肯定报错啊;

比如第一个:https://github.com/SagerNet/sing-box/releases/download/v1.12.12/sing-box-1.12.12-linux-amd64.tar.gz

比如第二个:https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64

下载好了放入 /app/bin 目录,设置好执行权限。

singbox肯定需要配置文件的:

{"log": {"level": "info"},"inbounds": [{"tag": "hysteria2","type": "hysteria2","listen": "::","listen_port": 19861,"users": [{"password": "XXXXXXXXXXXXX"}],"tls": {"enabled": true,"alpn": ["h3"],"key_path": "/app/etc/tls.key","certificate_path": "/app/etc/tls.cer"}},{"tag": "vless-ws","type": "vless","listen": "127.0.0.1","listen_port": 19862,"users": [{"uuid": "XXXXXXXXX"}],"transport": {"type": "ws","path": "/XXXXXXXXXXXXX","headers": {"Host": "XXXXXXXXX.top"}}}],"outbounds": [{"type": "direct","tag": "direct"}]
}

你会发现singbox还需要tls证书,没有问题:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.cer -subj "/CN=localhost"

这样就会生成tls.key和tls.cer,可以使用了;

 

第三步:修改容器启动命令

command = /app/bin/supervisord -c /app/etc/supervisord.conf

重启吧,以后你需要什么就修改supervisor配置文件就行了,需要的小工具提前放到 /app/bin 目录就好了。

最后一个大事:你的小工具肯定要暴露一些端口出来才能使用啊,配置一下就行了,happy!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/982109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA中使用http协议

IDEA中使用http协议三、如何使用协议 3.1使用http协议 项目右键-》Git -》 repository -》 remote -》选择http协议的地址3.2 使用ssh协议 首先Git Bash或软件生成SSH秘钥 生成秘钥请参考 SSH公钥默认存储在账户的主目…

详细介绍:Elasticsearch从入门到实践:核心概念到Kibana测试与C++客户端封装

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

C语言结构体全面解析与内存优化 - 实践

C语言结构体全面解析与内存优化 - 实践2025-11-30 18:23 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !…

OpenCSG x Dell联合发布面向AI原生企业的下一代IT解决方案

在全球迈向“智能体时代”的背景下,OpenCSG(开放传神)近日发布与戴尔科技基础设施深度集成的参考架构方案。该方案结合了 OpenCSG 的 CSGHub 企业级平台、Xnet 智能传输协议、Dell PowerScale 智能存储系统和 Dell …

ESP32C3开发指南(基于IDF):console控制台命令行交互功能 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

vue+devtools下载地址

https://crxdl.com/search?q=vue+devtools 上传一个包到: https://files.cnblogs.com/files/stubborn-dude/hkddcnbhifppgmfgflgaelippbigjpjo_crxdl.com_v3_5.3.4.0.zip?t=1764497205&download=true

剑出鞘

锻造矛盾的综合无处不在 冥想似乎也无法摒弃的思绪 就让它随风飘散 文字的隐喻透露阴郁 至今已然明白 我们都面临抉择 但我确信 取舍最终归于同一 倘若非然 那便要“该出手时就出手” 倒计时还在迫近 也许是时候迈开双…

第4篇 Scrum 冲刺博客

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience/homework/13474这个作业的目标 完…

渗透测试中的方法论

什么是渗透测试? 在网络安全领域,渗透测试是衡量组织防御体系有效性的关键手段。然而,一个真正专业、有价值的渗透测试,绝非简单的“黑客工具堆砌”或随机的攻击尝试。其背后是一套严谨、系统化的方法论。这套方法…

德国首个AI科学中心启动研究合作

某中心与马克斯普朗克学会合作成立科学中心,聚焦人工智能、计算机视觉和机器学习研究,包含博士奖学金项目和700万欧元初始资金,推动AI技术发展与应用创新。某中心与马克斯普朗克学会启动科学中心合作 这是某中心在美…

Google Benchmark:高性能C++代码基准测试框架

Google Benchmark是一个专业的C++微基准测试库,提供精确的性能测量、统计分析和复杂度计算,支持多线程测试和自定义计数器,帮助开发者优化代码性能。Google Benchmark:高性能C++代码基准测试框架 项目描述 Google …

医疗小程序02用户注册 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

最全、最清晰、C++的 lower_bound / upper_bound 总结

最全、最清晰的 lower_bound / upper_bound 总结,包含: ✔ 功能解释(通俗 + STL 定义) ✔ 返回值含义 ✔ 典型代码例子 ✔ 在竞赛中的常用技巧 ✔ 与 equal_range 的关系 ✔ 可视化图示🔵 1. lower_bound / uppe…

密码系统设计实验3-2

密码系统设计实验3-2密码系统设计实验3-2

Mysql基础3 - 实践

Mysql基础3 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Co…

2025-12-01-Nature 本周最新文献速递

文章标题: Specificity, length and luck drive gene rankings in association studies 中文标题: 基因排名新洞察:特异性、长度与“运气”如何影响关联研究? 关键词: 全基因组关联研究、LoF负担测试、基因优先级、性…

论程序员的管理

我在it这个行业有10年左右的经验了,但我一直是个程序员。曾经一个程序员的管理人员,我的上级给我说过,程序员的管理是比较难的。 我想他这样说,一个原因是,程序员的工作成果是用代码说话的。但在编程的过程中,可…

缓解疲劳的方式有哪些?

1,睡眠质量。一些疲惫感的原因可能来源于睡眠质量不足,比如深度睡眠很少(低于20%),或者由于打呼噜、蒙着被子睡觉、睡姿压迫呼吸,导致睡眠时血氧不充分。 2,维生素摄入不充分。维生素B1缺乏与疲惫感正相关,因而…

LUA语法细节

1. 使用 nil 作比较时应该加上双引号:> type(X) nil > type(X)==nil false > type(X)=="nil" true2. Lua 把 false 和 nil 看作是"假",其他的都为"真":if false or nil then…

DevOps设备链对比,Azure 和 TikLab哪款更好用?

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …