如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像包含 HashiCorp 企业版软件,仅授权给与 HashiCorp 或其授权经销商签订有效许可协议的客户使用。未获得有效许可的用户不得下载或使用本软件。软件的所有使用均受许可协议条款约束,其他所有权利均明确保留。
除非您的组织已签署单独协议规范本软件的使用,否则以下条款适用:软件受许可条款或社区许可(如 Mozilla Public License 2.0 或 Business Source License)约束(视情况而定),相关许可文件位于软件下载包中、IBM International Program License Agreement、IBM International License Agreement for Evaluation of Programs(评估用途)或 IBM International License Agreement for Early Release of Programs(alpha 和 beta 版本),以及适用的许可信息(副本可在 [***] 获取)。若下载包中的许可文件与上述 IBM 许可存在冲突,以相关 IBM 条款为准。使用前请参阅许可条款,安装和使用软件即表示您接受这些条款;如不接受,请勿使用。
Vault 是一款用于安全访问机密信息的工具。机密信息指任何需要严格控制访问的内容,如 API 密钥、密码、证书等。Vault 提供统一的机密访问接口,同时实现细粒度访问控制和详细审计日志记录。
dumb-init 处理僵尸进程回收并转发信号,确保容器内进程稳定运行(dumb-init 二进制由 HashiCorp 构建并使用其 GPG 密钥签名)。/vault/config)或环境变量(VAULT_LOCAL_CONFIG)注入配置。/vault/logs(审计日志)和 /vault/file(文件存储后端数据)两个可选卷,支持数据持久化。dev server)运行完全基于内存的 Vault 服务器,适合本地开发和测试。file、Consul 等)、启用 TLS 加密,并通过容器编排工具(如 Kubernetes、OpenShift)实现高可用。VAULT_REDIRECT_INTERFACE 和 VAULT_CLUSTER_INTERFACE 环境变量配置集群网络接口,适应分布式部署需求。4.1.1 基础镜像与进程管理
dumb-init 下运行,负责信号转发和僵尸进程回收。4.1.2 卷定义
容器暴露两个可选卷,需手动启用对应功能后生效:
/vault/logs:审计日志存储路径,需启用 file 审计后端并指定此目录下的路径。/vault/file:文件存储后端数据路径,需在配置中启用 file 存储后端。4.1.3 配置加载方式
/vault/config,挂载卷或构建新镜像时添加的 HCL/JSON 文件会被自动加载。VAULT_LOCAL_CONFIG 环境变量传入 JSON 格式配置,容器会将其写入 /vault/config/local.json 并加载。setcap4.2.1 内存锁定必要性
Vault 会尝试锁定内存以防止敏感数据交换到磁盘,因此启动容器时需添加 --cap-add=IPC_LOCK 权限。由于 Vault 以非 root 用户运行,容器通过 setcap 为二进制授予内存锁定能力。
4.2.2 兼容性处理
部分 Docker 存储插件(如 AUFS)可能导致 setcap 调用失败,可通过设置环境变量 SKIP_SETCAP 为任意非空值禁用内存锁定功能。
4.3.1 基本命令
bashdocker run --cap-add=IPC_LOCK -d --name=dev-vault hashicorp/vault
0.0.0.0:8200,生成随机根令牌。4.3.2 自定义开发模式配置
通过环境变量自定义开发模式参数:
VAULT_DEV_ROOT_TOKEN_ID:设置初始根令牌 ID(默认随机生成)。VAULT_DEV_LISTEN_ADDRESS:设置监听地址(默认 0.0.0.0:8200)。示例:
bashdocker run --cap-add=IPC_LOCK -e 'VAULT_DEV_ROOT_TOKEN_ID=myroot' -e 'VAULT_DEV_LISTEN_ADDRESS=0.0.0.0:1234' hashicorp/vault
4.4.1 基本配置示例
以下命令启动带文件存储后端的 Vault 服务器(注意:禁用 TLS 和文件存储不推荐生产环境使用):
bashdocker run \ --cap-add=IPC_LOCK \ -e 'VAULT_LOCAL_CONFIG={"storage": {"file": {"path": "/vault/file"}}, "listener": [{"tcp": {"address": "0.0.0.0:8200", "tls_disable": true}}], "default_lease_ttl": "168h", "max_lease_ttl": "720h", "ui": true}' \ -p 8200:8200 \ hashicorp/vault server
/vault/file,监听 0.0.0.0:8200(禁用 TLS),默认租约 168 小时(7 天),最大租约 720 小时(30 天),启用 Web UI。4.4.2 目录挂载配置
通过卷挂载注入配置文件和 TLS 证书:
bashdocker run \ --cap-add=IPC_LOCK \ --volume ./config:/vault/config \ # 挂载本地配置目录至容器 /vault/config -p 8200:8200 \ hashicorp/vault server
./config 目录下的 HCL/JSON 文件会被自动加载。| 环境变量 | 说明 | 默认值 | 示例值 |
|---|---|---|---|
SKIP_SETCAP | 禁用 setcap 调用,用于解决内存锁定失败问题 | 空(启用 setcap) | 1 |
VAULT_LOCAL_CONFIG | JSON 格式的 Vault 配置,会写入 /vault/config/local.json | 空 | {"ui": true} |
VAULT_DEV_ROOT_TOKEN_ID | 开发模式下的初始根令牌 ID | 随机生成 | myroot |
VAULT_DEV_LISTEN_ADDRESS | 开发模式下的监听地址(IP:端口) | 0.0.0.0:8200 | 0.0.0.0:1234 |
VAULT_REDIRECT_INTERFACE | 用于重定向地址的容器网络接口(如 eth0),自动获取接口 IP | 空 | eth0 |
VAULT_CLUSTER_INTERFACE | 用于集群地址的容器网络接口(如 eth0),自动获取接口 IP | 空 | eth0 |
bash# 启动开发模式 Vault,自动生成根令牌 docker run --cap-add=IPC_LOCK -d --name=dev-vault -p 8200:8200 hashicorp/vault # 自定义根令牌和监听地址 docker run --cap-add=IPC_LOCK -d \ --name=custom-dev-vault \ -e 'VAULT_DEV_ROOT_TOKEN_ID=dev-root-token' \ -e 'VAULT_DEV_LISTEN_ADDRESS=0.0.0.0:8201' \ -p 8201:8201 \ hashicorp/vault
bash# 使用文件存储后端和禁用 TLS(仅开发用) docker run --cap-add=IPC_LOCK -d \ --name=server-vault \ -e 'VAULT_LOCAL_CONFIG={"storage": {"file": {"path": "/vault/file"}}, "listener": [{"tcp": {"address": "0.0.0.0:8200", "tls_disable": true}}], "ui": true}' \ -v ./vault-data:/vault/file \ # 挂载本地目录持久化文件存储数据 -p 8200:8200 \ hashicorp/vault server
yamlversion: '3' services: vault: image: hashicorp/vault container_name: dev-vault cap_add: - IPC_LOCK ports: - "8200:8200" environment: - VAULT_DEV_ROOT_TOKEN_ID=dev-root-token - VAULT_DEV_LISTEN_ADDRESS=0.0.0.0:8200 restart: unless-stopped
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


来自真实用户的反馈,见证轩辕镜像的优质服务