
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Infinispan Server原生Docker镜像提供快速部署Infinispan服务器的方式。Infinispan是开源数据网格平台和高可扩展NoSQL云数据存储,支持分布式缓存、数据持久化及集群功能。该镜像内置认证机制,暴露HotRod和REST端点,支持通过环境变量、批处理文件或自定义配置实现灵活部署,适用于开发、测试及生产环境的数据网格部署。
通过以下命令快速启动Infinispan Server容器:
bash# Docker docker run -p 11222:11222 infinispan/server-native # Podman(非sudo用户需添加--net=host) podman run --net=host -p 11222:11222 infinispan/server-native
默认行为:
通过环境变量USER和PASS自定义管理员凭证:
bashdocker run -p 11222:11222 -e USER="admin" -e PASS="changeme" infinispan/server-native
注意:环境变量配置建议仅用于初始开发,生产环境推荐使用Identities Batch文件实现细粒度用户控制。
连接HotRod客户端时需配置以下SASL属性(替换实际用户名密码):
propertiesinfinispan.client.hotrod.auth_username=admin infinispan.client.hotrod.auth_password=changeme infinispan.client.hotrod.sasl_mechanism=DIGEST-MD5
通过IDENTITIES_BATCH环境变量指定批处理文件,定义用户身份及角色。批处理文件支持user create命令创建用户并分配角色。
示例批处理文件(identities.batch)
bash# 创建带admin角色的用户 user create "Alan Shearer" -p "striker9" -g admin # 创建无特定角色用户 user create "observer" -p "secret1" # 创建部署者用户 user create "deployer" -p "secret2" # 创建带monitor角色的用户 user create "Rigoberta Baldini" -p "secret3" -g monitor
挂载批处理文件运行
bashdocker run -v $(pwd):/user-config -e IDENTITIES_BATCH="/user-config/identities.batch" -p 11222:11222 infinispan/server-native
参考:了解更多用户角色配置请查阅Infinispan默认用户角色文档
自定义配置文件
通过-c参数指定自定义配置文件(需挂载本地目录):
bashdocker run -v $(pwd):/user-config -e IDENTITIES_BATCH="/user-config/identities.batch" -p 11222:11222 infinispan/server-native -c /user-config/my-infinispan-config.xml
Kubernetes/OpenShift集群配置
Kubernetes环境中需禁用多播,使用JGroups DNS_PING协议发现节点:
bashdocker run -v $(pwd):/user-config infinispan/server-native \ --bind-address=0.0.0.0 \ -Dinfinispan.cluster.stack=kubernetes \ -Djgroups.dns.query="infinispan-dns-ping.myproject.svc.cluster.local"
Java属性和JVM选项
通过JAVA_OPTIONS环境变量传递Java系统属性和JVM选项:
bash# 示例:配置CORS docker run -e JAVA_OPTIONS="-Dinfinispan.cors.enableAll=https://host.domain:port" infinispan/server-native
部署Artifacts至服务器lib目录
通过SERVER_LIBS环境变量部署artifacts(支持Maven坐标或URL):
bash# 示例:部署PostgreSQL JDBC驱动 docker run -e SERVER_LIBS="org.postgresql:postgresql:42.3.1" infinispan/server-native
说明:
SERVER_LIBS支持空格分隔的多个artifacts,tar/gz/zip格式会自动解压。更多细节见InfinispanCLI install命令文档。
设置DEBUG=TRUE环境变量调试镜像配置脚本:
bashdocker run -e DEBUG=true infinispan/server-native
设置DEBUG_PORT环境变量开启服务器调试(暴露调试端口):
bashdocker run -e DEBUG_PORT="*:8787" -p 8787:8787 infinispan/server-native
该镜像基于ubi-minimal构建,包含以下常用调试工具:
| 任务 | 命令 |
|---|---|
| 文本编辑 | vi |
| 获取Java进程PID | ps -fC java |
| 查看文件/套接字信息 | lsof |
| 列出非网络文件 | lsof | grep -v "IPv[46]" |
| 列出TCP套接字 | ss -t -a |
| 列出UDP套接字 | ss -u -a |
| 网络配置 | ip |
| 显示单播路由 | ip route |
| 显示多播路由 | ip maddress |
推荐使用REST端点配置Kubernetes探针,检查服务器状态:
yamllivenessProbe: httpGet: path: /rest/v2/cache-managers/default/health/status port: *** failureThreshold: 5 initialDelaySeconds: 10 successThreshold: 1 timeoutSeconds: 10 readinessProbe: httpGet: path: /rest/v2/cache-managers/default/health/status port: *** failureThreshold: 5 initialDelaySeconds: 10 successThreshold: 1 timeoutSeconds: 10
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务