LinuxServer.io团队为您带来另一个容器版本,其特点包括:
在以下渠道找到我们:
Bookstack 是一个免费开源的Wiki,旨在创建美观的文档。它配备了简单但功能强大的WYSIWYG编辑器,使团队能够轻松创建详细且有用的文档。
BookStack 基于SQL构建,并为偏好Markdown的用户提供了编辑器,旨在让文档编写从繁琐任务转变为愉快体验。
有关BookStack的更多信息,请访问其网站:[***]
我们利用docker manifest实现多平台支持。更多信息可查看docker文档https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list%E5%92%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%85%AC%E5%91%8A%E6%AD%A4%E5%A4%84%E3%80%82
只需拉取 lscr.io/linuxserver/bookstack:latest 即可获取适合您架构的正确镜像,您也可以通过标签拉取特定架构的镜像。
此镜像支持的架构如下:
| 架构 | 是否可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-\ |
| arm64 | ✅ | arm64v8-\ |
默认用户名为 ***,密码为 password,通过 http:// :6875 访问容器。
此应用依赖于MariaDB数据库,可以是您已有的数据库或新数据库。如果您还没有,我们提供了镜像:https://github.com/linuxserver/docker-mariadb%E3%80%82
如果您打算在子文件夹反向代理(如我们的SWAG容器或Traefik)后使用此应用,您需要确保 APP_URL 环境变量设置为您的外部域名,否则应用将无法正常工作。
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,您应从主机终端运行以下命令以更新数据库中的URL条目:
docker exec -it bookstack php /app/www/artisan bookstack:update-url ${OLD_URL} ${NEW_URL}
如果您希望使用BookStack的额外功能(如电子邮件、LDAP等),您需要设置额外的环境变量,或根据BookStack文档的指导创建自己的 .env 文件。
容器会将示例 .env 文件复制到主机系统的 /config/www/.env 供您使用。
此镜像可以在只读容器文件系统下运行。详情请阅读文档。
/tmp 必须挂载为tmpfs| 参数 | 功能 |
|---|---|
-p 6875:80 | http/s Web界面。 |
-e PUID=1000 | 用户ID - 详见下文说明 |
-e PGID=1000 | 组ID - 详见下文说明 |
-e TZ=Etc/UTC | 指定要使用的时区,参见此列表。 |
-e APP_URL= | 应用程序的访问协议、IP/URL和端口(例如:http://192.168.1.1:6875 或 https://bookstack.mydomain.com) |
-e APP_KEY= | 会话加密密钥。您需要通过 docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey 生成。 |
-e DB_HOST= | 数据库实例主机名 |
-e DB_PORT=3306 | 数据库端口 |
-e DB_USERNAME= | 数据库用户 |
-e DB_PASSWORD= | 数据库密码(至少4个字符,非字母数字密码必须正确转义。) |
-e DB_DATABASE= | 数据库名称 |
-e QUEUE_CONNECTION= | 设置为 database 以启用异步操作(如发送电子邮件或触发Webhook)。参见文档。 |
-v /config | 持久化配置文件 |
--read-only=true | 以只读文件系统运行容器。请阅读文档。 |
您可以通过使用特殊前缀 FILE__ 从文件中设置任何环境变量。
例如:
-e FILE__MYVAR=/run/secrets/mysecretvariable
这将根据 /run/secrets/mysecretvariable 文件的内容设置环境变量 MYVAR。
对于我们所有的镜像,您可以使用可选的 -e UMASK=022 设置来覆盖容器内启动的服务的默认umask设置。
请记住,umask不是chmod,它根据其值减去权限,而不是添加权限。在请求支持之前,请先阅读此处。
使用卷(-v 标志)时,主机操作系统和容器之间可能会出现权限问题,我们通过允许您指定用户 PUID 和组 PGID 来避免此问题。
确保主机上的所有卷目录都归您指定的同一用户所有,这样任何权限问题都会神奇地消失。
在此示例中 PUID=1000 和 PGID=1000,要查找您的ID,请使用 id your_user,如下所示:
id your_user
示例输出:
uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
我们发布了各种 https://github.com/linuxserver/docker-mods%EF%BC%8C%E4%BB%A5%E5%9C%A8%E5%AE%B9%E5%99%A8%E5%86%85%E5%90%AF%E7%94%A8%E9%A2%9D%E5%A4%96%E5%8A%9F%E8%83%BD%E3%80%82%E5%8F%AF%E7%94%A8%E4%BA%8E%E6%AD%A4%E9%95%9C%E5%83%8F%E7%9A%84Mods%E5%88%97%E8%A1%A8%EF%BC%88%E5%A6%82%E6%9C%89%EF%BC%89%E4%BB%A5%E5%8F%8A%E5%8F%AF%E5%BA%94%E7%94%A8%E4%BA%8E%E6%88%91%E4%BB%AC%E4%BB%BB%E4%BD%95%E9%95%9C%E5%83%8F%E7%9A%84%E9%80%9A%E7%94%A8Mods%EF%BC%8C%E5%8F%AF%E9%80%9A%E8%BF%87%E4%B8%8A%E6%96%B9%E7%9A%84%E5%8A%A8%E6%80%81%E5%BE%BD%E7%AB%A0%E8%AE%BF%E9%97%AE%E3%80%82
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 pull
docker-compose pull bookstack
docker-compose up -d
docker-compose up -d bookstack
docker image prune
docker pull lscr.io/linuxserver/bookstack:latest
docker stop bookstack
docker rm bookstack
/config 文件夹和设置将被保留)docker image prune
[!TIP] 我们推荐使用 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。
.env 值用引号包裹。&)。探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务