
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
这是一个SimpleSAMLphp的包装器,提供测试用的SAML身份提供者(IDP),用于Totara实例中的SAML2连接测试。该镜像仅适用于测试场景,不得用于任何生产环境。
当前嵌入的SimpleSAMLphp版本为2.0.3。若需测试1.19.7版本,请使用最新的v1.x标签。
| 变量名 | 描述 |
|---|---|
LISTEN_PORT | 服务访问端口,默认值为8089。 |
SITE_TITLE | 覆盖默认站点标题,用于区分多个运行的实例。 |
shell# 拉取镜像 docker pull totara/simple-saml-test:latest # 启动服务 docker run --rm -p 8089:8089 -e LISTEN_PORT=8089 -it totara/simple-saml-test:latest
启动后,可通过http://localhost:{LISTEN_PORT}(默认8089)访问服务。
打开站点后,以管理员身份登录,导航至“管理服务提供者”页面,添加SP实例(需提供完整的元数据URL,不进行严格验证)。例如:http://{YOUR_SP_INSTANCE}/path/to/metadata.php。
注意:该镜像不支持原始XML转储,必须能直接从服务提供者下载元数据文件。若SP实例无法解析,可通过以下方式添加主机映射:
shell# SP实例运行在主机上 docker run --add-host={YOUR_SP_INSTANCE}:host-gateway ... -it totara/simple-saml-test:latest # SP实例在其他位置,替换域名和IP docker run --add-host={YOUR_SP_INSTANCE}:{IP_OF_SITE} ... -it totara/simple-saml-test:latest
若使用Totara Docker Dev库,可直接将该镜像添加到服务中:
custom目录下创建saml.yml文件。yamlversion: "3.7" services: saml2: image: totara/simple-saml-test:latest networks: - totara ports: - "8089:8089" environment: - LISTEN_PORT=8089 - SITE_TITLE="Testing"
saml2添加到本地hosts文件,确保浏览器可解析。t up saml2启动服务,访问http://saml2:8089确认测试环境正常。重要提示:Totara使用的URL与浏览器访问该站点的URL必须一致。元数据文件路径取决于所用的SAML插件,此处不具体说明。
默认包含硬编码的用户列表和属性,可通过卷挂载自定义PHP文件替换用户列表:
创建custom-auth-sources.php文件,结构如下:
php<?php return [ // username:password => [属性数组] 'my_user:password1' => [ 'uid' => ['my_uid'], 'username' => ['my_username'], ], 'another:password' => [ 'uid' => ['another'], 'username' => ['annie_example'], 'firstname' => ['annie'] ], ];
username:password部分用于IDP登录,内部数组为返回给SP的属性。例如,my_user用户在SP中显示为my_username或my_uid。
挂载方式:
shelldocker run ... -v /path/to/custom-auth-sources.php:/var/www/custom-auth-sources.php ... -it totara/simple-saml-test:latest
若需修改./metadata/saml20-idp-hosted.php中的设置,可创建custom-saml20-idp-hosted.php文件,返回需覆盖或合并的设置数组:
挂载方式:
shelldocker run ... -v /path/to/custom-saml20-idp-hosted.php:/var/www/custom-saml20-idp-hosted.php ... -it totara/simple-saml-test:latest
镜像提供三种证书:
默认使用第一个,可通过自定义配置切换:
php# 切换到新密钥 return [ 'privatekey' => 'new_server.pem', 'certificate' => 'new_server.crt', ]; # 同时使用常规和新密钥 return [ 'privatekey' => 'server.pem', 'certificate' => 'server.crt', 'new_privatekey' => 'new_server.pem', 'new_certificate' => 'new_server.crt', ]; # 使用过期密钥 return [ 'privatekey' => 'expired_server.pem', 'certificate' => 'expired_server.crt', ];
docker-compose up --build dev(实时同步config/metadata/modules文件夹)。docker-compose up --build prod测试生产版本。SAML_VERSION构建参数为目标版本。docker-compose up --build dev测试开发版本。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务