
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
以无root权限和无发行版方式运行pocket-id。
Pocket ID是一个简单的OIDC提供程序,允许用户使用其密钥对您的服务进行身份验证。
我能用它做什么? 此镜像将以https://github.com/11notes/RTFM/blob/main/linux/container/image/rootless.md和https://github.com/11notes/RTFM/blob/main/linux/container/image/distroless.md方式运行pocket-id,以实现最高安全性。
为什么我应该运行此镜像而不是其他已存在的镜像? 好问题!因为...
如果您重视安全性、简洁性和极致优化,那么此镜像可能适合您。
以下是此镜像与最常用或原始镜像的对比。
| 镜像 | 磁盘大小 | 默认初始用户 | https://github.com/11notes/RTFM/blob/main/linux/container/image/distroless.md | 支持的架构 |
|---|---|---|---|---|
| 11notes/pocket-id | 35MB | 1000:1000 | ✅ | amd64, arm64 |
| pocket-id/pocket-id | 77MB | 0:0 | ❌ | amd64, arm64 |
yamlname: "idp" x-lockdown: &lockdown # 防止对镜像本身的写访问 read_only: true # 防止容器内任何进程获得更多权限 security_opt: - "no-new-privileges=true" services: postgres: # 此镜像的详细信息:https://github.com/11notes/docker-postgres image: "docker.xuanyuan.run/11notes/postgres:16" <<: *lockdown environment: TZ: "Europe/Zurich" POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}" POSTGRES_BACKUP_SCHEDULE: "0 3 * * *" volumes: - "postgres.etc:/postgres/etc" - "postgres.var:/postgres/var" - "postgres.backup:/postgres/backup" tmpfs: - "/postgres/run:uid=1000,gid=1000" - "/postgres/log:uid=1000,gid=1000" networks: backend: restart: "always" pocket-id: depends_on: postgres: condition: "service_healthy" restart: true image: "docker.xuanyuan.run/11notes/pocket-id:2.6.2" <<: *lockdown environment: TZ: "Europe/Zurich" APP_URL: "${FQDN}" TRUST_PROXY: true DB_PROVIDER: "postgres" DB_CONNECTION_STRING: "postgres://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres" # DB_CONNECTION_STRING: "file:/pocket-id/var/pocket-id.db?_pragma=journal_mode(WAL)&_pragma=busy_timeout(2500)&_txlock=immediate" volumes: - "pocket-id.var:/pocket-id/var" ports: - "3000:1411/tcp" networks: frontend: backend: restart: "always" volumes: postgres.etc: postgres.var: postgres.backup: pocket-id.var: networks: frontend: backend: internal: true
要了解如何更改此容器镜像的默认UID/GID,请参考https://github.com/11notes/RTFM/blob/main/linux/container/image/11notes/how-to.changeUIDGID.md#change-uidgid-the-correct-way。
| 参数 | 值 | 描述 |
|---|---|---|
user | docker | 用户名 |
uid | 1000 | 用户标识符 |
gid | 1000 | 组标识符 |
home | /pocket-id | docker用户的主目录 |
| 参数 | 值 | 默认值 |
|---|---|---|
TZ | 时区 | |
DEBUG | 将为容器镜像和应用(如果可用)激活调试选项 |
以下是镜像的主要标签。每个提交及其简写sha256值也有对应的标签。
我认为:latest标签是一个坏习惯,根本不应该使用。许多开发人员在新版本中引入破坏性变更,这会给使用:latest的人带来麻烦。如果您不想将标签更改为最新的https://semver.org/,只需使用https://semver.org/的短版本。不使用`:2.6.2`,您可以使用`:2`或`:2.6`。由于这些标签会在每个新版本中更新为软件的最新版本,使用它们与使用`:latest`相同,但至少固定在主版本或次版本上,理论上不会引入破坏性变更。
如果您仍然坚持使用此应用的最新版本,只需使用:rolling标签,但请注意!您将立即获得应用的最新版本,无论是否有破坏性变更或安全问题。风险自负!
docker pull docker.xuanyuan.run/11notes/pocket-id:2.6.2 docker pull ***-ghcr.xuanyuan.run/11notes/pocket-id:2.6.2 docker pull ***-quay.xuanyuan.run/11notes/pocket-id:2.6.2
此镜像默认支持Unraid。只需在任何标签后添加-unraid,镜像将以99:100而非1000:1000运行。
此镜像默认支持nobody用户。只需在任何标签后添加-nobody,镜像将以65534:65534而非1000:1000运行。
此镜像不基于其他镜像,而是使用https://hub.docker.com/_/scratch作为起始层。 该镜像包含以下添加的无发行版层:
此镜像提供给您,风险自负。更新镜像到不同版本前请务必备份。查看https://github.com/11notes/docker-pocket-id/releases了解破坏性变更。如果使用此镜像遇到问题,请提交https://github.com/11notes/docker-pocket-id/issues,谢谢。如有问题或建议,请创建新的https://github.com/11notes/docker-pocket-id/discussions而非issue。您可以在https://github.com/11notes?tab=repositories上找到我的所有其他仓库。
创建于 22.04.2026, 09:04:11 (CET)
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务