昨晚拿V4.1 Flash修了个Docker的老问题。
一个compose项目,前面Nginx,API容器每次重新recreate以后就偶尔502。最开始我以为API挂了,进去看日志屁事没有,Nginx容器里直接curl api:8080也是200。
然后发现一个很玄学的规律。
只要重启一下Nginx,立刻正常。
我把项目直接丢给DeepSeek让它查。
它上来先看healthcheck,然后改depends_on,不行又开始查network和upstream。后面连keepalive、proxy_next_upstream都动了,有一轮甚至准备直接给API绑静态IP。
快是真快,基本没见它停。
中间有一次它说应该修好了。
我又手贱跑了一遍:
docker compose up -d --force-recreate api
过几分钟又开始502。
草。
来回搞了好几轮,我有点不敢让它继续改了,把东西全reset,换Astra。
Astra前面半天没动,一直在翻日志。
后来它看了眼Nginx error log里面的地址,又跑了个docker inspect看API。
Nginx还在连:
172.20.0.5:8080
但API已经变成:
172.20.0.6
到这基本就知道怎么回事了。
API被recreate以后容器IP换了,Nginx还记着启动时候解析出来的老IP。难怪重启Nginx马上恢复,我直接curl api:8080也一直没问题,curl自己又重新走了一遍Docker DNS。
后面就让Nginx别一直抱着启动时解析出来的地址,upstream改成动态解析,resolver直接走Docker自己的127.0.0.11。
改完以后我连续recreate了十几次API,没再出过。
DeepSeek其实也不是不会这个。把原因告诉它,它马上就知道怎么改。
它最大的问题还是太愿意试了。
这个可能?改。
不行?下一个。
再不行?继续。
模型够快以后这个毛病其实挺隐蔽的,因为看着它一直在疯狂干活,Token哗哗往外冒。
昨晚那次属于活确实干了不少。
就是没干对。
如果文章中有任何问题,或者你有更好的建议,也欢迎通过以下方式联系我:
- 🌐 博客:blog.dczhe.com
- 🐦 X (Twitter):@D_CZhe
- 💬 Telegram 私信:@dczhe_bot
- 📧 邮箱:me@dczhe.com
- 😘 捐赠我:点击此处