低配云服务器也能跑得稳:我用 Docker Compose 管小服务的几个习惯
手里有台 1 核 2G 的小服务器,跑着三四个小服务:一个静态站、一个订阅转换小工具、一个定时任务脚本。配置不高,但一年下来很少出问题。总结几个我一直在坚持的习惯,分享给同样用低配机器的朋友。
一、一个服务一个 compose 文件
每个服务单独一个目录、单独一份 docker-compose.yml,互不掺和。好处是显而易见的:升级、迁移、停用某个服务时,只动它自己的目录,不会误伤别人。服务多了以后,目录就是最好的清单,比记在脑子里靠谱。
二、一定给容器设内存上限
低配机器最怕的不是 CPU 打满,而是某个容器内存泄漏把整机拖垮。每个服务我都会写上 mem_limit 或 deploy.resources.limits,哪怕设得宽松一点,也要有这道墙。再配合 restart: unless-stopped,进程假死了能自己爬起来,不用半夜爬起来登服务器。
三、日志要设滚动,别让它吃盘
Docker 容器日志默认无限增长,30G 的小盘很容易被日志悄悄吃满,出问题时 df 一看才发现系统盘 100%。我的做法是在 daemon.json 里给 json-file 日志加上 max-size 和 max-file,比如单文件 10m、保留 3 个。这一条是血泪教训换来的,建议新机器第一天就配上。
四、镜像固定版本号,更新前留旧版
更新服务时我从不用 latest 标签,而是写死具体版本号。升级前把旧镜像留着,万一新版有问题,改回 compose 里的版本号重新 up 就能回滚,全程一分钟。图省事用 latest 的人,大多在某个深夜为自动更新的新版买过单。
五、小机器更要做减法
能用静态文件解决的就不用数据库,能用系统 cron 的就不用常驻进程。低配机器的稳定性,一半来自配置,另一半来自克制:服务越少,互相影响的可能性越低,排查问题时也越快。
以上就是我的小结。机器不在大小,习惯到位,小服务器一样可以跑得很稳。
- 点赞
- 收藏
- 关注作者
评论(0)