说一下Windows部署后访问nginx502的问题

我使用的的windows10 docker desktop部署12.0及13.0,每次都是严格按照官方教程,连密码都没有修改。但是只有第一次能首页,一但关闭容器或重启电脑,就再也进不去了,访问提示502 Bad Gateway。晚上查了很多,论坛帖子也有很多相似的情况,ai也用了,都没有能解决。

通过查看日志发现seafile一直报错nginx: [alert] could not open error log file: open() “/var/log/nginx/error.log” failed (40: Too many levels of symbolic links)。

查看发现该地址不存在无法进入,是符号链接无限循环。

于是就尝试修改.env中的VOLUME,如/opt/seafile-data ==> ./seafile-data 。

重新部署后发现.env根目录会生成seafile-xxx的文件夹就是修改成功了。这时候error.log可以正常保存,关机重启也不会出现502报错了。

不是很懂技术,都是用ai一步步摸出来的,有错误的地方可以指出,如果官方能再教程里备注就更好了。

你试试,还会出现这个问题的。根本原因是容器的运行顺序不对,seafile容器依赖mysql、redis容器,必须先启动mysql、redis,再启动seafile。官方文档有开机启动的说明,但是按照那个说明还是不行,因为电脑重启后,docker服务启动需要时间,它还没启动,后面的容器就启动,孜然会失败,然后就出现这个502错误。我解决的办法是在启动服务里,在加载容器时加一个延时,确保docker服务启动完成在自动加载容器,就完全没问题了。