docker 部署遇到目录的权限问题

如题,我现在使用下面的命令没有办法创建 siyuan 的 docker,启动后会直接 exit

docker run -it -d \
	b3log/siyuan:latest \
	--name siyuan \
	-v /root/docker/siyuan:/siyuan \
	-p 30000:6806 \
	--restart=always \
        -workspace=/siyuan

请问是哪里写的不对吗?--workspace=/siyuan 也试过,也不行。


献丑了,如果要指定 docker 中运行的命令,应该要把 docker 镜像的名字放在后头。下面的命令可以完美启动思源,但还是有问题

docker run -d \
	--name siyuan \
	-v /root/docker/siyuan:/root/docker/siyuan \
	-p 30000:6806 \
	--restart=always \
	b3log/siyuan:latest \
       --workspace=/root/docker/siyuan \
       --lang=zh_CN \
       --accessAuthCode=123456

可是用上面的 docker 命令创建的思源容器,会出现如下找不到路径的错误,docker 内部没办法找到我标出来的这个路径。会自己改动成一个新的工作路径。

W 2023/11/16 10:11:39 file.go:262: determines whether [/root/docker/siyuan] is a directory failed: [lstat /root/docker/siyuan: permission denied]
W 2023/11/16 10:11:39 working.go:225: use the default workspace [/home/siyuan/SiYuan] since the specified workspace [/root/docker/siyuan] is not a dir

我尝试弄一个特殊的路径出来,比如 /var/siyuan但还是会显示没有权限,我应该怎么解决这个问题?

docker run -d \
--privileged \
--name siyuan \
-v /var/siyuan:/var/siyuan \
-p 30000:6806 \
--restart=always \
b3log/siyuan:latest \
--workspace=/var/siyuan \
--lang=zh_CN \
--accessAuthCode=123456
E 2023/11/16 11:29:23 working.go:247: create os tmp dir [/var/siyuan/temp/os] failed: mkdir /var/siyuan/temp: permission denied
E 2023/11/16 11:29:24 working.go:247: create os tmp dir [/var/siyuan/temp/os] failed: mkdir /var/siyuan/temp: permission denied
E 2023/11/16 11:29:25 working.go:247: create os tmp dir [/var/siyuan/temp/os] failed: mkdir /var/siyuan/temp: permission denied
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    18785 引用 • 70242 回帖 • 1 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6580 引用 • 29548 回帖 • 249 关注

相关帖子

被采纳的回答

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 还有--lang=zh_CN,--accessAuthCode=xxx

    1 回复
  • muxue

    确实,不然默认打开是英文的界面。感谢告知

    1. 现在 docker 镜像里的 siyuan,用的应该是 siyuan 账号而非 root。

    2. -v 那一大堆最后加:z

    1 回复
  • muxue

    那请问,我要怎么给他指定目录?在-v 命令最后加上 :z 没有用,还是没权限。下面这两个命令创建出来的 docker 里面都会显示没权限。尝试 --privileged=true 指定特权模式也不行。抱歉,docker 这方面我是小白。😭

     docker run -d \
    >     --name siyuan \
    >     --restart=always \
    >     -v /root/docker/siyuan/sy:/home/siyuan/siyuan:z \
    >     -p 30000:6806 \
    >     b3log/siyuan:latest \
    >     --workspace=/home/siyuan/siyuan \
    >     --lang=zh_CN \
    >     --accessAuthCode=12345
    
    
    docker run -d \
        --privileged=true \
        --name siyuan \
        -v /var/siyuan:/var/siyuan:z \
        -p 30000:6806 \
        --restart=always \
        b3log/siyuan:latest \
        --workspace=/var/siyuan \
        --lang=zh_CN \
        --accessAuthCode=123456
    
  • muxue

    试了试,好像只要别在需要 root 权限才能访问的路径下搞这个就行了

    进入子用户,新建个文件夹,然后 sudo 执行如下命令创建思源的 docker 就 ok 了。把 root 用户下的目录设置为 1000 的用户组和所属用户应该也能解决这个问题。

    sudo docker run -d \
        --name siyuan \
        -v /home/muxue/siyuan/sy:/home/siyuan/sy \
        -p 30000:6806 \
        --restart=always \
        b3log/siyuan:latest \
        --workspace=/home/siyuan/sy \
        --lang=zh_CN \
        --accessAuthCode=123456
    

    这个命令可以正常部署思源,也没有遇到本页面提到的权限问题或者说是找不到路径的问题。

    感谢大家的帮助!

    1 回复
    1 操作
    muxue 在 2024-02-19 10:04:36 更新了该回帖
  • 要是有 podman 可以用 podman,就不用 root 和 sudo 了。

    1 回复
  • muxue

    嗯嗯

请输入回帖内容 ...

推荐标签 标签

  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    116 引用 • 99 回帖 • 266 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    198 引用 • 120 回帖
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 35 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    172 引用 • 990 回帖
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 641 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    69 引用 • 190 回帖 • 497 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3169 引用 • 8207 回帖 • 1 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 1 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 686 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    126 引用 • 1699 回帖 • 3 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    21 引用 • 58 回帖
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 603 关注
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    129 引用 • 793 回帖
  • 工具

    子曰:“工欲善其事,必先利其器。”

    276 引用 • 685 回帖 • 1 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 906 回帖 • 193 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖 • 1 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    284 引用 • 4481 回帖 • 654 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 426 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 131 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 597 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    370 引用 • 1215 回帖 • 582 关注
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1083 引用 • 3461 回帖 • 287 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 697 关注