
Vault 1.14版本起,我们将停止在Dockerhub发布官方镜像,仅发布Verified Publisher镜像。Docker镜像用户应从https://hub.docker.com/r/hashicorp/vault%E6%8B%89%E5%8F%96%EF%BC%8C%E8%80%8C%E9%9D%9Ehttps://hub.docker.com/_/vault%E3%80%82Verified Publisher镜像可在https://hub.docker.com/r/hashicorp/vault%E8%8E%B7%E5%8F%96%E3%80%82
维护者:
https://github.com/hashicorp/docker-vault
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
Dockerfile链接无支持的标签
问题提交地址:
https://github.com/hashicorp/docker-vault/issues?q=
支持的架构:(https://github.com/docker-library/official-images#architectures-other-than-amd64)
无支持的架构
发布的镜像工件详情:
https://github.com/docker-library/repo-info/blob/master/repos/vault (https://github.com/docker-library/repo-info/commits/master/repos/vault)
(镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fvault
https://github.com/docker-library/official-images/blob/master/library/vault (https://github.com/docker-library/official-images/commits/master/library/vault)
本描述的来源:
https://github.com/docker-library/docs/tree/master/vault (https://github.com/docker-library/docs/commits/master/vault)
Vault是一款用于安全访问机密的工具。机密是指任何需要严格控制访问的信息,如API密钥、密码、证书等。Vault提供统一的机密访问接口,同时具备严格的访问控制和详细的审计日志。更多信息请参见:
!https://raw.githubusercontent.com/docker-library/docs/90d4d43bdfccd5cb21e5fd964d32b0074af0f357/vault/logo.svg?sanitize=true
我们选择Alpine作为基础镜像,因其轻量且安全表面积较小,同时具备足够的开发和交互式调试功能。
Vault始终在https://github.com/Yelp/dumb-init%E4%B8%8B%E8%BF%90%E8%A1%8C%EF%BC%8C%E5%AE%83%E8%B4%9F%E8%B4%A3%E5%9B%9E%E6%94%B6%E5%83%B5%E5%B0%B8%E8%BF%9B%E7%A8%8B%E5%B9%B6%E5%B0%86%E4%BF%A1%E5%8F%B7%E8%BD%AC%E5%8F%91%E7%BB%99%E5%AE%B9%E5%99%A8%E5%86%85%E7%9A%84%E6%89%80%E6%9C%89%E8%BF%9B%E7%A8%8B%E3%80%82%E8%AF%A5%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E7%94%B1HashiCorp%E6%9E%84%E5%BB%BA%E5%B9%B6%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84GPG%E5%AF%86%E9%92%A5%E7%AD%BE%E5%90%8D%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%82%A8%E5%8F%AF%E4%BB%A5%E9%AA%8C%E8%AF%81%E7%94%A8%E4%BA%8E%E6%9E%84%E5%BB%BA%E7%89%B9%E5%AE%9A%E5%9F%BA%E7%A1%80%E9%95%9C%E5%83%8F%E7%9A%84%E5%B7%B2%E7%AD%BE%E5%90%8D%E5%8C%85%E3%80%82
运行Vault容器时不带参数将启动Vault服务器的开发模式。提供的入口点脚本还会查找Vault子命令,并使用该子命令运行vault。例如,执行docker run vault status将在容器内运行vault status命令。当运行server子命令时,入口点还会添加下文详细说明的一些特殊配置选项。其他任何命令都将在dumb-init下通过exec在容器内执行。
容器公开两个可选的VOLUME:
/vault/logs:用于写入持久审计日志。默认情况下不会写入任何内容;必须启用file审计后端并指定此目录下的路径。/vault/file:使用file数据存储插件时用于写入持久存储数据。默认情况下不会写入任何内容(dev服务器使用内存数据存储);必须在启动容器前在Vault配置中启用file数据存储后端。容器在/vault/config设置了Vault配置目录,服务器将加载通过卷挂载或构建新镜像添加到此处的任何HCL或JSON配置文件。或者,可以通过环境变量VAULT_LOCAL_CONFIG传递配置JSON来添加配置。
容器将尝试锁定内存以防止敏感值交换到磁盘,因此必须向docker run提供--cap-add=IPC_LOCK。由于Vault二进制文件以非root用户运行,因此使用setcap赋予二进制文件锁定内存的能力。在某些发行版中,使用某些Docker存储插件时,此调用可能无法正常工作;最常见的失败情况是使用AUFS。可以通过将环境变量SKIP_SETCAP设置为任何非空值来禁用内存锁定行为。
console$ docker run --cap-add=IPC_LOCK -d --name=dev-vault vault
这将运行一个完全基于内存的Vault服务器,适用于开发,但不应在生产环境中使用。
在开发模式下,可以通过环境变量设置两个额外选项:
VAULT_DEV_ROOT_TOKEN_ID:将初始生成的root令牌ID设置为给定值VAULT_DEV_LISTEN_ADDRESS:设置开发服务器监听器的IP:端口(默认为0.0.0.0:8200)示例:
console$ docker run --cap-add=IPC_LOCK -e 'VAULT_DEV_ROOT_TOKEN_ID=myroot' -e 'VAULT_DEV_LISTEN_ADDRESS=0.0.0.0:1234' vault
console$ docker 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 vault server
这将运行一个禁用TLS的Vault服务器,使用file存储后端(路径为/vault/file),默认机密租约期限为一周,最长为30天。禁用TLS和使用file存储后端不推荐用于生产环境。
请注意--cap-add=IPC_LOCK:这是Vault锁定内存所必需的,可防止其交换到磁盘。强烈建议使用此选项。在非开发环境中,如果不希望使用此功能,必须在配置信息中添加"disable_mlock: true"。
启动时,服务器将从/vault/config读取配置HCL和JSON文件(传递给VAULT_LOCAL_CONFIG的任何信息都将写入此目录下的local.json,并在读取目录中的配置文件时一并读取)。有关完整选项列表,请参见Vault的配置文档。
我们建议将目录卷挂载到Docker镜像中,以便为Vault提供配置和TLS证书。您可以通过以下方式实现:
console$ docker run --volume config/:/vault/config.d ...
为获得更高的可扩展性和可靠性,建议在k8s或OpenShift等编排环境中运行容器化Vault。
从0.6.3版本开始,此容器还支持VAULT_REDIRECT_INTERFACE和VAULT_CLUSTER_INTERFACE环境变量。如果设置,Vault配置中用于重定向和集群地址的IP地址将是容器内指定接口的地址(例如eth0)。
查看此镜像中包含的软件的https://raw.githubusercontent.com/hashicorp/vault/master/LICENSE%E3%80%82
与所有Docker镜像一样,这些镜像可能还包含其他受其他许可证约束的软件(例如基础发行版中的Bash等,以及主要包含软件的任何直接或间接依赖项)。
一些能够自动检测到的其他许可证信息可能位于https://github.com/docker-library/repo-info/tree/master/repos/vault%E4%B8%AD%E3%80%82
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用都符合其中包含的所有软件的相关许可证。
以下是 vault 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



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