arm32v6/vault在Vault 1.14版本中,我们将停止在Dockerhub发布官方镜像,仅发布Verified Publisher镜像。Docker镜像用户应从hashicorp/vault拉取镜像,而非vault。Verified Publisher镜像可在[***]
维护者:
HashiCorp
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
Dockerfile链接无支持标签
问题提交地址:
[***]
支持的架构:(更多信息)
无支持架构
已发布镜像工件详情:
repo-info仓库的repos/vault/目录 (历史记录)
(镜像元数据、传输大小等)
镜像更新:
official-images仓库的library/vault标签
official-images仓库的library/vault文件 (历史记录)
本描述的来源:
docs仓库的vault/目录 (历史记录)
Vault是一款用于安全访问密钥的工具。密钥是指任何需要严格控制访问的信息,如API密钥、密码、证书等。Vault提供统一的密钥访问接口,同时提供严格的访问控制和详细的审计日志。更多信息请参见:
!logo
我们选择Alpine作为基础镜像,因其轻量级特性和较小的安全***面,同时具备足够的开发和交互式调试功能。
Vault始终在dumb-init下运行,该工具处理僵尸进程回收并将信号转发到容器内所有进程。此二进制文件由HashiCorp构建并使用我们的GPG密钥签名,因此可验证用于构建特定基础镜像的已签名包。
运行Vault容器时不带参数将启动Vault服务器的开发模式。提供的入口脚本会查找Vault子命令并使用该子命令运行vault。例如,执行docker run vault status将在容器内运行vault status命令。入口点在运行server子命令时还会添加一些特殊配置选项,详见下文。其他命令将在dumb-init下通过exec在容器内执行。
容器公开两个可选VOLUME:
/vault/logs:用于写入持久化审计日志。默认不写入任何内容;必须启用file审计后端并指定此目录下的路径。/vault/file:使用file数据存储插件时用于写入持久化存储数据。默认不写入任何内容(开发服务器使用内存数据存储);必须在启动容器前在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:将初始生成的根令牌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),默认密钥租约期限为1周,最大为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)。
查看此镜像中包含软件的许可信息。
与所有Docker镜像一样,其中可能包含其他许可下的软件(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
可在repo-info仓库的vault/目录中找到一些能够自动检测到的额外许可信息。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用符合其中包含的所有软件的相关许可。



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