Vault 是一个用于安全访问密钥的工具。密钥指任何需要严格控制访问的信息,如 API 密钥、密码、证书等。Vault 提供统一的密钥访问接口,同时具备严格的访问控制和详细的审计日志功能。本镜像为官方 Vault 容器化部署方案,基于轻量级 Alpine 系统构建,适用于开发环境和生产环境的容器化部署。
dumb-init 处理僵尸进程并转发信号,确保容器内进程稳定运行。dev server)运行完全基于内存的 Vault 服务器,无需持久化配置,适合本地开发和功能验证。file 存储后端)和 TLS 加密。--cap-add=IPC_LOCK)、配置持久化审计日志,并使用生产级存储后端(如 Consul、Raft)替代 file 后端。持久化卷(VOLUME)
容器提供两个可选卷用于持久化数据:
/vault/logs:用于存储持久化审计日志。默认无数据写入,需手动启用 file 审计后端并配置路径至此目录。/vault/file:用于 file 数据存储插件的持久化数据。默认无数据写入(dev 服务器使用内存存储),需在启动前配置 file 存储后端。配置目录
容器默认配置目录为 /vault/config,支持两种配置方式:
-v 挂载包含 HCL/JSON 配置文件的目录至 /vault/config,Vault 会自动加载所有配置文件。VAULT_LOCAL_CONFIG 环境变量传入 JSON 格式配置,容器会将其写入 /vault/config/local.json 并加载。setcap内存锁定(必需配置)
Vault 需锁定内存以防止敏感数据交换到磁盘,因此启动容器时必须添加 --cap-add=IPC_LOCK 权限。例如:
console$ docker run --cap-add=IPC_LOCK ... hashicorp/vault
setcap 问题处理
由于 Vault 二进制以非 root 用户运行,容器通过 setcap 赋予二进制内存锁定权限。部分 Docker 存储插件(如 AUFS)或 Linux 发行版可能导致 setcap 调用失败,此时可通过设置环境变量 SKIP_SETCAP 为任意非空值禁用内存锁定:
console$ docker run --cap-add=IPC_LOCK -e SKIP_SETCAP=1 ... hashicorp/vault
开发模式启动完全基于内存的 Vault 服务器,适合开发测试,禁止用于生产。
基本命令
console$ docker run --cap-add=IPC_LOCK -d --name=dev-vault hashicorp/vault
开发模式环境变量
VAULT_DEV_ROOT_TOKEN_ID:设置初始 root 令牌 ID(默认自动生成)。VAULT_DEV_LISTEN_ADDRESS:设置开发服务器监听地址(默认 0.0.0.0:8200)。示例:自定义 root 令牌和监听地址
console$ docker run --cap-add=IPC_LOCK -d \ -e VAULT_DEV_ROOT_TOKEN_ID=myroot \ -e VAULT_DEV_LISTEN_ADDRESS=0.0.0.0:1234 \ --name=dev-vault hashicorp/vault
服务器模式需手动配置存储后端和网络,适合需要持久化或多节点部署的场景(开发阶段使用,生产需进一步加固)。
基本配置示例
以下命令启动启用 file 存储后端、禁用 TLS(仅开发用)的 Vault 服务器:
console$ docker run --cap-add=IPC_LOCK -p 8200:8200 \ -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}' \ hashicorp/vault server
storage.file.path: "/vault/file":启用 file 存储后端,数据持久化至 /vault/file 卷。listener.tcp.tls_disable: true:禁用 TLS(生产环境必须启用 TLS)。default_lease_ttl/max_lease_ttl:设置默认和最大密钥租约期限(168h=7天,720h=30天)。配置目录挂载示例
通过挂载本地配置目录至 /vault/config 加载配置文件(支持 HCL/JSON):
console$ docker run --cap-add=IPC_LOCK -v ./vault-config:/vault/config \ hashicorp/vault server
本地 vault-config 目录需包含至少一个 HCL/JSON 配置文件(如 vault.hcl)。
集群相关环境变量
自 0.6.3 版本起,容器支持以下集群配置环境变量:
VAULT_REDIRECT_INTERFACE:指定用于重定向地址的容器内网络接口(如 eth0),自动获取该接口的 IP 作为重定向地址。VAULT_CLUSTER_INTERFACE:指定用于集群地址的容器内网络接口,自动获取该接口的 IP 作为集群通信地址。容器支持直接执行 vault 子命令,例如查看服务器状态:
console$ docker run hashicorp/vault status
查看镜像中软件的 https://raw.githubusercontent.com/hashicorp/vault/main/LICENSE%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务