
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数据存储插件时用于写入持久存储数据。默认情况下不会写入任何内容(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)。
查看此镜像中包含的软件的许可证信息。
与所有Docker镜像一样,这些镜像可能还包含其他受其他许可证约束的软件(例如基础发行版中的Bash等,以及主要包含软件的任何直接或间接依赖项)。
一些能够自动检测到的其他许可证信息可能位于repo-info仓库的vault/目录中。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用都符合其中包含的所有软件的相关许可证。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429