轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥8起我的订单
文档
工具
提交工单页面收录
ghcr.io/linuxserver/bookstack

ghcr.io/linuxserver/bookstack:arm64v8-26.05.4

ghcr.iolinux/arm64arm64v8-26.05.4大小: 109.24 MB更新于 2026年9月7日
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

https://linuxserver.io 团队为您带来另一个容器版本,其特点包括:

  • 定期且及时的应用更新
  • 简单的用户映射(PGID、PUID)
  • 带有 s6 overlay 的自定义基础镜像
  • 每周基础 OS 更新,整个 LinuxServer.io 生态系统共享通用层,以最小化空间占用、停机时间和带宽
  • 定期安全更新

您可以通过以下渠道找到我们:

  • https://blog.linuxserver.io - 关于如何使用我们的容器的所有内容,包括操作指南、观点等!
  • https://linuxserver.io/*** - 与社区和团队进行实时支持/聊天。
  • https://discourse.linuxserver.io - 在我们的社区论坛上发帖。
  • https://github.com/linuxserver - 查看我们所有仓库的源代码。
  • https://opencollective.com/linuxserver - 请考虑通过***或为我们的预算做出贡献来帮助我们

https://github.com/linuxserver/docker-bookstack

https://codeberg.org/bookstack/bookstack 是一个免费开源的 Wiki,旨在创建美观的文档。它配备了一个简单但功能强大的 WYSIWYG 编辑器,使团队能够轻松创建详细且有用的文档。

BookStack 由 SQL 提供支持,并为喜欢 Markdown 的用户提供了 Markdown 编辑器,旨在让文档编写成为一种乐趣而非负担。

有关 BookStack 的更多信息,请访问其网站:[***]

支持的架构

我们利用 docker manifest 实现多平台支持。有关更多信息,请参阅 docker 的https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list文档和我们的https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/。

只需拉取 lscr.io/linuxserver/bookstack:latest 即可获取适合您架构的正确镜像,但您也可以通过标签拉取特定架构的镜像。

此镜像支持的架构如下:

架构可用标签
x86-64✅amd64-
arm64✅arm64v8-

应用设置

默认用户名为 ,密码为 password,可通过 [] :6875 访问容器。

此应用依赖于 MariaDB 数据库,可以是您已有的数据库或新数据库。如果您还没有 MariaDB,我们提供了一个镜像:https://github.com/linuxserver/docker-mariadb。

如果您打算在子文件夹反向代理(如我们的 SWAG 容器或 Traefik)后使用此应用,您需要确保 APP_URL 环境变量设置为您的外部域名,否则应用将无法正常工作。

BookStack 的文档可在 [***] 找到。

BookStack 文件和目录路径

此容器确保 BookStack 的某些应用文件和文件夹(如用户文件上传文件夹)保留在 /config 文件夹中,以便当 /config 容器路径作为卷挂载时,这些文件和文件夹是持久且可访问的。在遵循 BookStack 文档时,您可能需要知道这些文件和文件夹相对于非容器 BookStack 安装的使用方式。

以下是容器 /config 路径与 BookStack 安装目录内相对路径的映射:

  • 容器内 /config 路径 => BookStack 相对路径
  • /config/www/.env => .env
  • /config/log/bookstack/laravel.log => storage/logs/laravel.log
  • /config/backups/ => storage/backups/
  • /config/www/files/ => storage/uploads/files/
  • /config/www/images/ => storage/uploads/images/
  • /config/www/themes/ => themes/
  • /config/www/uploads/ => public/uploads/

修改 APP_URL

如果在初始安装后修改 APP_URL,您应从主机终端运行以下命令来更新数据库中的 URL 条目:

docker exec -it bookstack php /app/www/artisan bookstack:update-url ${OLD_URL} ${NEW_URL}

高级用户(完全控制 .env 文件)

如果您希望使用 BookStack 的额外功能(如电子邮件、LDAP 等),您需要设置其他环境变量或根据 BookStack 文档创建自己的 .env 文件。

容器会将一个示例 .env 文件复制到主机系统的 /config/www/.env,供您使用。

只读操作

此镜像可以在只读容器文件系统下运行。有关详细信息,请https://docs.linuxserver.io/misc/read-only/。

注意事项

  • /tmp 必须挂载为 tmpfs

使用方法

为帮助您开始使用此镜像创建容器,您可以使用 docker-compose 或 docker cli。

[!NOTE] 除非参数标记为“可选”,否则均为必填项,必须提供值。

docker-compose(推荐,https://docs.linuxserver.io/general/docker-compose)

---
services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - APP_URL=
      - APP_KEY=
      - DB_HOST=
      - DB_PORT=3306
      - DB_USERNAME=
      - DB_PASSWORD=
      - DB_DATABASE=
      - QUEUE_CONNECTION= #optional
    volumes:
      - /path/to/bookstack/config:/config
    ports:
      - 6875:80
    restart: unless-stopped

docker cli(https://docs.docker.com/engine/reference/commandline/cli/)

docker run -d \
  --name=bookstack \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -e APP_URL= \
  -e APP_KEY= \
  -e DB_HOST= \
  -e DB_PORT=3306 \
  -e DB_USERNAME= \
  -e DB_PASSWORD= \
  -e DB_DATABASE= \
  -e QUEUE_CONNECTION= `#optional` \
  -p 6875:80 \
  -v /path/to/bookstack/config:/config \
  --restart unless-stopped \
  lscr.io/linuxserver/bookstack:latest

参数

容器通过运行时传递的参数进行配置(如上所示)。这些参数用冒号分隔,表示 <主机>:<容器>。例如,-p 8080:80 会将容器内的端口 80 暴露出来,可通过主机 IP 的端口 8080 访问。

ParameterFunction
-p 6875:80http/s web interface.
-e PUID=1000for UserID - see below for explanation
-e PGID=1000for GroupID - see below for explanation
-e TZ=Etc/UTCspecify a timezone to use, see this list.
-e APP_URL=The protocol, IP/URL, and port that your application will be accessed on (ie. http://192.168.1.1:6875 or https://bookstack.mydomain.com
-e APP_KEY=Session encryption key. You will need to generate this with docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
-e DB_HOST=The database instance hostname
-e DB_PORT=3306Database port
-e DB_USERNAME=Database user
-e DB_PASSWORD=Database password (minimum 4 characters & non-alphanumeric passwords must be properly escaped.)
-e DB_DATABASE=Database name
-e QUEUE_CONNECTION=Set to database to enable async actions like sending email or triggering webhooks. See documentation.
-v /configPersistent config files
--read-only=trueRun container with a read-only filesystem. Please https://docs.linuxserver.io/misc/read-only/.

从文件设置环境变量(Docker secrets)

您可以通过使用特殊前缀 FILE__ 从文件中设置任何环境变量。

例如:

-e FILE__MYVAR=/run/secrets/mysecretvariable

这将根据 /run/secrets/mysecretvariable 文件的内容设置环境变量 MYVAR。

运行应用程序的Umask设置

对于我们所有的镜像,我们提供了使用可选的 -e UMASK=022 设置来覆盖容器内启动的服务的默认umask设置的能力。
请记住,umask 不是 chmod,它根据其值减去权限,而不是添加权限。在寻求支持之前,请在此处查阅相关资料。

用户/组标识符

使用卷(-v 标志)时,主机操作系统和容器之间可能会出现权限问题,我们通过允许您指定用户 PUID 和组 PGID 来避免此问题。

确保主机上的任何卷目录都归您指定的同一用户所有,这样任何权限问题都会神奇地消失。

在这个例子中 PUID=1000 和 PGID=1000,要找到您的PUID和PGID,请使用 id your_user 命令,如下所示:

id your_user

示例输出:

uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)

Docker Mods

我们发布了各种 https://github.com/linuxserver/docker-mods,以在容器内启用额外功能。可用于此镜像的Mod列表(如有)以及可应用于我们任何镜像的通用Mod可通过上方的动态徽章访问。

支持信息

  • 容器运行时的Shell访问:
docker exec -it bookstack /bin/bash
  • 实时监控容器日志:
docker logs -f bookstack
  • 容器版本号:
docker inspect -f '{{ index .Config.Labels "build_version" }}' bookstack
  • 镜像版本号:
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/bookstack:latest

更新信息

我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部的应用程序。除某些例外情况(在相关的readme.md中注明)外,我们不建议也不支持在容器内更新应用程序。请查阅上方的应用程序设置部分,了解是否推荐对此镜像进行此类操作。

以下是更新容器的说明:

通过Docker Compose

  • 更新镜像:
  • 所有镜像:
docker-compose pull
  • 单个镜像:
docker-compose pull bookstack
  • 更新容器:
  • 所有容器:
docker-compose up -d
  • 单个容器:
docker-compose up -d bookstack
  • 您还可以删除旧的悬空镜像:
docker image prune

通过Docker Run

  • 更新镜像:
docker pull lscr.io/linuxserver/bookstack:latest
  • 停止运行中的容器:
docker stop bookstack
  • 删除容器:
docker rm bookstack
  • 使用上述相同的docker run参数重新创建新容器(如果正确映射到主机文件夹,您的 /config 文件夹和设置将被保留)
  • 您还可以删除旧的悬空镜像:
docker image prune

镜像更新通知 - Diun(Docker镜像更新通知器)

[!TIP] 我们推荐使用 https://crazymax.dev/diun/ 进行更新通知。不推荐也不支持使用其他自动无人值守更新容器的工具。

本地构建

如果您想出于开发目的或仅为了自定义逻辑而对这些镜像进行本地修改:

git clone https://github.com/linuxserver/docker-bookstack.git
cd docker-bookstack
docker build \
--no-cache \
--pull \
-t lscr.io/linuxserver/bookstack:latest .

使用 lscr.io/linuxserver/qemu-static 可以在x86_64硬件上构建ARM变体,反之亦然:

docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset

注册后,您可以使用 -f Dockerfile.aarch64 指定要使用的Dockerfile。

Versions

  • 05.08.26: - 以 PUID/PGID 管理的 abc 用户身份运行异步队列工作器。
  • 05.07.26: - 基于 Alpine 3.24 重新构建。
  • 29.04.26: - 切换为从 https://codeberg.org/bookstack/bookstack 拉取发布版本。
  • 28.12.25: - 基于 Alpine 3.23 重新构建。
  • 05.07.25: - 基于 Alpine 3.22 重新构建。
  • 04.01.25: - 添加 php-opcache。
  • 17.12.24: - 基于 Alpine 3.21 重新构建。
  • 11.10.24: - 优先使用环境配置而非 .env 文件配置。
  • 06.09.24: - 添加 php-exif 以读取图像 EXIF 数据。
  • 27.05.24: - 基于 Alpine 3.20 重新构建。> [!IMPORTANT] 现有用户应更新其 nginx 配置以避免 http2 弃用警告。
  • 25.01.24: -

[!IMPORTANT] 现有用户应更新:site-confs/default.conf - 清理默认站点配置。

  • 23.12.23: - 基于 Alpine 3.19 和 php 8.3 重新构建。
  • 31.10.23: - 进一步清理 sed 替换。
  • 07.06.23: - 添加 mariadb-client 以支持 bookstack-system-cli。
  • 25.05.23: - 基于 Alpine 3.18 重新构建,弃用 armhf。
  • 13.04.23: - 将 ssl.conf 包含移动到 default.conf。
  • 01.03.23: - 添加 php iconv。
  • 19.01.23: - 基于 Alpine 3.17 和 php8.1 重新构建。
  • 16.01.23: - 将 .env 值用引号包裹。
  • 05.01.23: - 修复数据库密码设置(sed 转义 &)。
  • 21.12.22: - 当环境变量更新时,更新 .env 文件中的数据库信息。
  • 10.10.22: - 移除密码转义逻辑,该逻辑曾导致少数用户出现问题。
  • 20.08.22: - 基于 Alpine 3.15 和 php8 重新构建。重构 nginx 配置(https://info.linuxserver.io/issues/2022-08-20-nginx-base)。
  • 14.03.22: - 添加主题支持的符号链接。
  • 11.07.21: - 基于 Alpine 3.14 重新构建。
  • 12.01.21: - 移除未使用的依赖项(自 0.31.0 版本起)。
  • 17.12.20: - 使 APP_URL 变量成为必填项(上游变更)。
  • 17.09.20: - 基于 Alpine 3.12 重新构建。修复 APP_URL 设置。默认将 php post max 和 upload max 文件大小提升至 100MB。
  • 19.12.19: - 基于 Alpine 3.11 重新构建。
  • 26.07.19: - 使用旧版本的 tidyhtml,等待上游修复。
  • 28.06.19: - 基于 Alpine 3.10 重新构建。
  • 14.06.19: - 添加 wkhtmltopdf 到镜像以支持 PDF 渲染。
  • 20.04.19: - 基于 Alpine 3.9 重新构建,添加 MySQL 初始化逻辑。
  • 22.03.19: - 切换到新的基础镜像,迁移至 arm32v7 标签。
  • 20.01.19: - 添加 php7-curl。
  • 04.11.18: - 添加 php7-ldap。
  • 15.10.18: - 更改高级用户功能。
  • 08.10.18: - 高级模式、符号链接变更、sed 修复、文档更新、添加部分 composer 文件。
  • 23.09.28: - 更新预发布版本。
  • 02.07.18: - 初始发布。

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

爱快 4.0 · iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

专属域名用法

专属域名 · 开启停用 · 多仓库

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

docker.sock / daemon

账号

失败是否计费

manifest · blob · 计费

申请开票(企业 / 个人)

开票 · 发票 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ghcr.io/linuxserver/bookstack
定价查看流量套餐与价格
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥8/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱