
openiamdocker/vault-bootstrap该Docker镜像专为Vault服务的数据初始化设计,旨在简化Vault部署过程中的初始数据配置、环境准备及基础设置工作。通过自动化初始化流程,帮助用户快速完成Vault服务的初始化阶段,确保服务能够基于预设配置正常启动并运行,减少手动操作成本和配置错误风险。
bashdocker run -d \ --name vault-init \ -e VAULT_ADDR="[***]" \ # Vault服务地址(需提前启动Vault服务) -e VAULT_KEY_SHARES=5 \ # 生成的密钥数量(默认5) -e VAULT_KEY_THRESHOLD=3 \ # 解锁Vault所需的最小密钥数量(默认3) -e VAULT_ROOT_TOKEN="your-secure-token" \ # 自定义根令牌(可选,不填则自动生成) -v /host/path/to/vault/data:/vault/data \ # 挂载Vault数据目录(需与Vault服务共享) vault-init:latest
yamlversion: '3.8' services: vault: image: vault:latest container_name: vault-service ports: - "8200:8200" volumes: - vault-data:/vault/data environment: - VAULT_ADDR="[***]" - VAULT_DEV_MODE=false # 禁用开发模式,使用生产模式初始化 restart: unless-stopped vault-init: image: vault-init:latest container_name: vault-init depends_on: - vault # 确保Vault服务先启动 environment: - VAULT_ADDR="[***]" - VAULT_KEY_SHARES=5 - VAULT_KEY_THRESHOLD=3 - VAULT_ROOT_TOKEN_FILE="/run/secrets/vault-root-token" # 从文件读取根令牌(推荐生产环境) volumes: - vault-data:/vault/data - ./secrets:/run/secrets # 挂载包含根令牌的密钥文件 restart: on-failure # 初始化完成后自动退出,失败时重启 volumes: vault-data: # 共享数据卷,确保vault和vault-init访问同一份数据
| 环境变量名 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|
VAULT_ADDR | Vault服务的访问地址(格式:http://<host>:<port>) | - | 是 |
VAULT_KEY_SHARES | 生成的初始密钥数量(Key Shares) | 5 | 否 |
VAULT_KEY_THRESHOLD | 解锁Vault所需的最小密钥数量(需 ≤ VAULT_KEY_SHARES) | 3 | 否 |
VAULT_ROOT_TOKEN | 自定义根令牌(字符串,建议长度≥20字符,生产环境不推荐直接设置) | 自动生成 | 否 |
VAULT_ROOT_TOKEN_FILE | 存储根令牌的文件路径(从文件读取令牌,比环境变量更安全) | - | 否 |
VAULT_DATA_DIR | Vault数据存储目录路径 | /vault/data | 否 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info | 否 |
| 参数 | 描述 | 示例 |
|---|---|---|
--force | 强制重新初始化,覆盖现有数据(谨慎使用,会删除已有Vault数据) | docker run ... vault-init:latest --force |
--output-keys | 将生成的密钥和令牌输出到指定文件(格式:json/plain) | --output-keys /vault/init-result.json |
vault-init容器与Vault服务容器挂载同一份数据卷(如示例中的vault-data),否则初始化数据无法被Vault服务识别vault status命令检查)VAULT_ROOT_TOKEN环境变量明文传递根令牌,推荐使用VAULT_ROOT_TOKEN_FILE从密钥文件读取,或使用Vault的自动生成机制并妥善保管输出的令牌vault-init会输出所有密钥(Key Shares)和根令牌,需立即安全存储(如存入密钥管理系统),丢失后无法恢复Vault数据1000:1000,与Vault默认运行用户一致)

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务