[思源笔记问题反馈] 新 1.51 的 docker 启动出错

新 1.51 的 docker 改了机制, 导致启动出错~

以前的启动命令:

sudo docker run -d -v /home/aaron/Documents/SiYuan:/siyuan/workspace -p 6806:6806 b3log/siyuan --resident=true --workspace=/siyuan/workspace/ --resident -

现在, 同样的命令产生的日至如下:

2021/11/12 08:31:25 create user home conf folder [] failed: mkdir /home/siyuan/.config: permission denied

也就是说, 现在要强制在本机生成一个 siyuan 用户来存放配置文件???

这样做不合理吧? 配置文件放在 $HOME/.config/siyuan 不是更符合规范么?

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250
    订阅者

    容器里不再以 root 用户执行,而是以用户 siyuan(uid 1000/gid 1000)执行。请试下将之前宿主机上的工作空间文件夹赋予权限:chown -R 1000:1000 宿主机工作空间文件夹路径 后再启动。

    2 回复
  • rust
    订阅者 作者

    同时 AppImage 同步也是大面积报错, 似乎是用户组和用户权限设置问题?

    一夜之间改动这么大...?????

  • rust
    订阅者 作者

    我空间文件夹一直都是 uid 1000/gid 1000 , 再次 chown 之后启动报错依旧~

    是不是生成 kernel 时写死了用户名为 siyuan 而不是 $whoami??

    202111120851.png

  • rust
    订阅者 作者

    一般来是 Linux 下第一个用户的 uid/gid 就是 1000, 如果写死了用户名为 siyuan, 这就跟本地常用用户冲突了吧

    1 回复
  • 88250
    订阅者

    试下 Docker 镜像启动的时候带参数 -u 1000:1000,issues 变更见 Issue #3296 · siyuan-note/siyuan

    1 回复
  • rust
    订阅者 作者

    配置文件一定要放 siyuan 用户名下似乎不太合理~

    1 操作
    rust 在 2021-11-12 10:02:02 更新了该回帖
  • rust
    订阅者 作者

    202111120917.png

    加了参数结果一样

    应该是用户名被写死了 siyuan

    1 回复
  • 88250
    订阅者

    按 uid 分配权限应该不会有问题才对,容器里用户名写死不影响 uid 的。试下重新设置数据卷的权限。

    1 回复
  • rust
    订阅者 作者

    问题找到了,

    原因在于我之前就使用 docker 的 namespace 机制, 本来就是以 1000 uid/gid 运行的 docker~ 冲突了

请输入回帖内容 ...