昨晚拿V4.1 Flash修了个Docker的老问题。

一个compose项目,前面Nginx,API容器每次重新recreate以后就偶尔502。最开始我以为API挂了,进去看日志屁事没有,Nginx容器里直接curl api:8080也是200

然后发现一个很玄学的规律。

只要重启一下Nginx,立刻正常。

我把项目直接丢给DeepSeek让它查。

它上来先看healthcheck,然后改depends_on,不行又开始查networkupstream。后面连keepaliveproxy_next_upstream都动了,有一轮甚至准备直接给API绑静态IP。

快是真快,基本没见它停。

中间有一次它说应该修好了。

我又手贱跑了一遍:

shell
docker compose up -d --force-recreate api

过几分钟又开始502

草。

来回搞了好几轮,我有点不敢让它继续改了,把东西全reset,换Astra。

Astra前面半天没动,一直在翻日志。

后来它看了眼Nginx error log里面的地址,又跑了个docker inspect看API。

Nginx还在连:

nginx upstream
172.20.0.5:8080

但API已经变成:

api container
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哗哗往外冒。

昨晚那次属于活确实干了不少。

就是没干对。

如果文章中有任何问题,或者你有更好的建议,也欢迎通过以下方式联系我: