无法访问保险库 ui 而 运行 保险库位于 docker:找不到 404 页面

Unable to access vault ui while running vault in docker: 404 page not found

我是 运行 金库 docker 喜欢:

$ docker run -it  --rm -p 8200:8200  vault:0.9.1

我已经打开保险库:

$ VAULT_ADDR=http://localhost:8200 VAULT_SKIP_VERIFY="true" vault operator unseal L6M8O7Xg7c8vBe3g35s25OWeruNDfaQzQ5g9UZ2bvGM=
Key             Value
---             -----
Seal Type       shamir
Initialized     false
Sealed          false
Total Shares    1
Threshold       1
Version         0.9.1
Cluster Name    vault-cluster-52a8c4b5
Cluster ID      96ba7037-3c99-5b6e-272e-7bcd6e5cc45c
HA Enabled      false

但是,我无法在 firefox 中访问 UI http://localhost:8200/ui。错误是:

404 page not found

你知道我做错了什么吗? docker hub 中的 vault docker 映像是否编译了 UI?

Web UI 在 v0.10.0 中开源,因此 v0.9.1 没有 Web UI。这里是 blog announcing release and CHANGELOG for v0.10.0 - take a look at FEATURES subsection.

要在 Web 浏览器中查看 Web UI 请尝试 运行 此命令:

$ docker run -it  --rm -p 8200:8200  vault:0.10.0

但是,我建议使用更新的 Vault 版本,因为在此期间进行了许多改进和错误修复。 Web 中还添加了一些功能 UI,因此如果您遵循最新文档,其中描述的某些内容可能在旧版本中不可用。

我在 Vault 0.10.3 中观察到了这种行为 (https://releases.hashicorp.com/vault/0.10.3/vault_0.10.3_linux_amd64.zip) 当我把 在 Vault 配置文件的最底部启用 ui 的调整 (等等config.json),所以 配置 returns 404 错误如下所示:

{
"listener": [{
"tcp": {
"address" : "0.0.0.0:8200",
"tls_disable" : 1
}
}],
"api_addr": "http://172.16.94.10:8200",
"storage": {
    "consul" : {
      "address" : "127.0.0.1:8500",
      "path": "vault"
    }
   }
 },
"max_lease_ttl": "10h",
"default_lease_ttl": "10h",
"ui":"true"
}

与 Vault 0.10.3 一起使用的一个在其配置文件的最顶部有一个 ui:

{
"ui":"true",
"listener": [{
"tcp": {
"address" : "0.0.0.0:8200",
"tls_disable" : 1
}
}],
"api_addr": "http://172.16.94.10:8200",
"storage": {
    "consul" : {
      "address" : "127.0.0.1:8500",
      "path": "vault"
    }
   }
 },
"max_lease_ttl": "10h",
"default_lease_ttl": "10h"
}