思源笔记Docker版本: 502 Bad Gateway 原因及解决
问题出现
今天将Docker版本思源笔记升级到1.5.3版本后,发现无法正常访问,显示 502 Bad Gateway 错误。
经测试,1.5.0及以下版本无此问题,自1.5.1版本往上,问题依旧。
问题排查
查找1.5.1更新说明,发现这么一条:Docker 容器以 1000:1000 用户组执行
因此,新版思源笔记需要在宿主机上增加gid为1000的用户组和uid为1000的用户,下面是相关代码
groupadd -g 1000 siyuan
# 添加了一个指定gid为1000的upload用户组
useradd -u 1000 -g siyuan siyuan
# 添加了一个uid为1000的用户,并加入到upload的组中
然而,理想很丰满,现实很骨感,运行提示groupadd: GID '1000' already exists
,运行cat /etc/passwd
查看用户信息,发现:
www:x:1000:1000::/home/www:/sbin/nologin
宝塔面板的www用户,被赋予了1000:1000
。
那也可以,谁是不是呢,哈哈
于是直接加一个-u
命令就行了
问题解决
使用新的命令运行docker容器:
docker run --name siyuan_note --restart=always -u 1000:1000 -d -v /***/siyuan_note:/siyuan/workspace -p 6806:6806 b3log/siyuan:v1.5.4 --workspace=/siyuan/workspace --servePath="xxx.com:6806"
搞定