ghcr.io/linuxserver/wikijs:version-v2.5.314
LinuxServer.io 团队为您带来另一个容器版本,其特点包括:
- 定期且及时的应用更新
- 简单的用户映射(PGID、PUID)
- 带有 s6 overlay 的自定义基础镜像
- 每周基础 OS 更新,在整个 LinuxServer.io 生态系统中共享通用层,以最小化空间占用、停机时间和带宽
- 定期安全更新
您可以通过以下渠道找到我们:
- 博客 - 关于我们容器的所有使用方法,包括操作指南、观点等更多内容!
- *** - 与社区和团队进行实时支持/聊天。
- Discourse - 在我们的社区论坛上发帖。
- https://github.com/linuxserver - 查看我们所有仓库的源代码。
- Open Collective - 欢迎通过***或为我们的预算做出贡献来支持我们
https://github.com/linuxserver/docker-wikijs
https://github.com/Requarks/wiki 一个基于 NodeJS 构建的现代、轻量且功能强大的维基应用。
支持的架构
我们利用 docker manifest 实现多平台支持。更多信息可从 docker https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list 和我们的公告 此处 获取。
只需拉取 lscr.io/linuxserver/wikijs:latest 即可获取适合您架构的正确镜像,您也可以通过标签拉取特定架构的镜像。
此镜像支持的架构如下:
| 架构 | 可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64- |
| arm64 | ✅ | arm64v8- |
应用设置
请注意,数据库配置环境变量仅在首次运行时生效,之后您需要直接编辑 /config/config.yml 来修改设置。
更多信息请参见 官方文档。
只读操作
此镜像可在只读容器文件系统下运行。详情请 阅读文档。
非 root 用户操作
此镜像可使用非 root 用户运行。详情请 阅读文档。
使用方法
为帮助您快速从此镜像创建容器,您可以使用 docker-compose 或 docker cli。
[!NOTE] 除非参数标记为“可选”,否则均为必填项,必须提供值。
docker-compose(推荐,点击此处了解更多信息)
---
services:
wikijs:
image: lscr.io/linuxserver/wikijs:latest
container_name: wikijs
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- DB_TYPE=sqlite #可选
- DB_HOST= #可选
- DB_PORT= #可选
- DB_NAME= #可选
- DB_USER= #可选
- DB_PASS= #可选
volumes:
- /path/to/wikijs/config:/config
- /path/to/data:/data
ports:
- 3000:3000
restart: unless-stopped
docker cli(点击此处了解更多信息)
docker run -d \
--name=wikijs \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-e DB_TYPE=sqlite `#optional` \
-e DB_HOST= `#optional` \
-e DB_PORT= `#optional` \
-e DB_NAME= `#optional` \
-e DB_USER= `#optional` \
-e DB_PASS= `#optional` \
-p 3000:3000 \
-v /path/to/wikijs/config:/config \
-v /path/to/data:/data \
--restart unless-stopped \
lscr.io/linuxserver/wikijs:latest
参数
容器通过运行时传递的参数进行配置(如上所示)。这些参数用冒号分隔,分别表示 主机:容器。例如,-p 8080:80 会将容器内的端口 80 暴露出来,可通过主机 IP 的 8080 端口访问。
| 参数 | 功能 |
|---|---|
-p 3000:3000 | Wiki.js Web 界面端口。 |
-e PUID=1000 | 用户 ID - 详见下方说明 |
-e PGID=1000 | 组 ID - 详见下方说明 |
-e TZ=Etc/UTC | 指定使用的时区,详见此 列表。 |
-e DB_TYPE=sqlite | 设置为 sqlite(默认)或 postgres,取决于您希望使用的数据库引擎 |
-e DB_HOST= | 数据库主机名(仅 postgres) |
-e DB_PORT= | 数据库端口(仅 postgres) |
-e DB_NAME= | 数据库名称(仅 postgres) |
-e DB_USER= | 数据库用户名(仅 postgres) |
-e DB_PASS= | 数据库密码(仅 postgres) |
-v /config | 持久化配置文件 |
-v /data | Wiki.js 数据存储位置。 |
--read-only=true | 以只读文件系统运行容器。请 阅读文档。 |
--user=1000:1000 | 以非 root 用户运行容器。请 阅读文档。 |
来自文件的环境变量(Docker secrets)
您可以通过使用特殊前缀 FILE__ 从文件设置任何环境变量。
例如:
-e FILE__MYVAR=/run/secrets/mysecretvariable
这会根据 /run/secrets/mysecretvariable 文件的内容设置环境变量 MYVAR。
运行应用的 Umask 设置
对于我们所有的镜像,您可以使用可选的 -e UMASK=022 设置来覆盖容器内服务的默认 umask 设置。
请记住,umask 不是 chmod,它基于其值减去权限,而不是添加权限。在请求支持前,请先 阅读此处 了解相关知识。
用户/组标识符
使用卷(-v 标志)时,主机 OS 和容器之间可能会出现权限问题。我们通过允许您指定用户 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%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%E6%AD%A4%E9%95%9C%E5%83%8F%E5%8F%AF%E7%94%A8%E7%9A%84 Mods 列表(如有)以及可应用于我们任何镜像的通用 Mods,可通过上方的动态徽章访问。
支持信息
- 容器运行时的 Shell 访问:
docker exec -it wikijs /bin/bash
- 实时监控容器日志:
docker logs -f wikijs
- 容器版本号:
docker inspect -f '{{ index .Config.Labels "build_version" }}' wikijs
- 镜像版本号:
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/wikijs:latest
更新信息
我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部应用。除某些例外情况(在相关 readme.md 中注明),我们不建议或支持在容器内更新应用。请参考上方的 应用设置 部分,了解是否推荐对此镜像进行应用更新。
以下是更新容器的说明:
通过 Docker Compose
- 更新镜像:
- 所有镜像:
docker-compose pull
- 单个镜像:
docker-compose pull wikijs
- 更新容器:
- 所有容器:
docker-compose up -d
- 单个容器:
docker-compose up -d wikijs
- 您还可以删除旧的悬空镜像:
docker image prune
通过 Docker Run
- 更新镜像:
docker pull lscr.io/linuxserver/wikijs:latest
- 停止运行中的容器:
docker stop wikijs
- 删除容器:
docker rm wikijs
- 使用上述相同的 docker run 参数重新创建新容器(如果正确映射到主机文件夹,您的
/config文件夹和设置将被保留) - 您还可以删除旧的悬空镜像:
docker image prune
镜像更新通知 - Diun(Docker 镜像更新通知器)
[!TIP] 我们推荐使用 Diun 接收更新通知。不推荐或支持使用其他工具自动无人值守更新容器。
本地构建
如果您想对这些镜像进行本地修改以用于开发目的或自定义逻辑:
git clone https://github.com/linuxserver/docker-wikijs.git
cd docker-wikijs
docker build \
--no-cache \
--pull \
-t lscr.io/linuxserver/wikijs:latest .
ARM 变体可以在 x86_64 硬件上构建,反之亦然,使用 lscr.io/linuxserver/qemu-static:
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
注册后,您可以使用 -f Dockerfile.aarch64 指定要使用的 dockerfile。
版本历史
- 14.10.25: - 基于 Alpine 3.22 重新构建。
- 18.01.25: - 基于 Alpine 3.21 重新构建。
- 01.06.24: - 基于 Alpine 3.20 重新构建。
- 23.12.23: - 基于 Alpine 3.19 重新构建。
- 25.08.22: - 基于 Alpine 3.18 重新构建。
- 07.07.23: - 弃用 armhf 架构。如 此处 公告所述。
- 21.03.23: - 恢复 git 和 openssh 包以支持 git 存储。
- 21.03.23: - 创建虚拟 /etc/os-release 以修复系统信息页面。
- 10.10.22: - 基于 Alpine 3.16 重新构建,迁移至 s6v3。
- 23.01.21: - 基于 Alpine 3.13 重新构建。
- 01.06.20: - 基于 Alpine 3.12 重新构建。
- 28.04.20: - 添加 python 依赖以支持某些 NPM 模块,以及 git 以支持存储模块。
- 14.12.19: - 初始发布。
轩辕镜像配置手册
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
Docker 配置
登录仓库拉取
通过 Docker 登录认证访问私有仓库
专属域名拉取
无需登录使用专属域名
K8s Containerd
Kubernetes 集群配置 Containerd
K3s
K3s 轻量级 Kubernetes 镜像加速
Dev Containers
VS Code Dev Containers 配置
Podman
Podman 容器引擎配置
Singularity/Apptainer
HPC 科学计算容器配置
其他仓库配置
ghcr、Quay、nvcr 等镜像仓库
Harbor 镜像源配置
Harbor Proxy Repository 对接专属域名
Portainer 镜像源配置
Portainer Registries 加速拉取
Nexus 镜像源配置
Nexus3 Docker Proxy 内网缓存
系统配置
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
镜像拉取常见问题
使用与功能问题
配置了专属域名后,docker search 为什么会报错?
docker search 限制
Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?
站内搜不到镜像
机器不能直连外网时,怎么用 docker save / load 迁镜像?
离线 save/load
docker pull 拉插件报错(plugin v1+json)怎么办?
插件要用 plugin install
WSL 里 Docker 拉镜像特别慢,怎么排查和优化?
WSL 拉取慢
轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?
安全与 digest
第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?
新手拉取配置
轩辕镜像合规吗?轩辕镜像的合规是怎么做的?
镜像合规机制
轩辕镜像支持 docker push 上传本地镜像吗?
不支持 push
错误码与失败问题
docker pull 提示 manifest unknown 怎么办?
manifest unknown
docker pull 提示 no matching manifest 怎么办?
no matching manifest(架构)
镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?
invalid tar header(解压)
Docker pull 时 HTTPS / TLS 证书验证失败怎么办?
TLS 证书失败
Docker pull 时 DNS 解析超时或连不上仓库怎么办?
DNS 超时
docker 无法连接轩辕镜像域名怎么办?
域名连通性排查
Docker 拉取出现 410 Gone 怎么办?
410 Gone 排查
出现 402 或「流量用尽」提示怎么办?
402 与流量用尽
Docker 拉取提示 UNAUTHORIZED(401)怎么办?
401 认证失败
遇到 429 Too Many Requests(请求太频繁)怎么办?
429 限流
docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?
D-Bus 凭证提示
为什么会出现「单层超过 20GB」或 413,无法加速拉取?
413 与超大单层
账号 / 计费 / 权限
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务