我一直在使用Vault vault文档中提供的官方示例运行vault服务器模式。尽管服务器成功启动,但是我无法通过其HTTP Rest API与Vault服务器进行交互。在下面找到我的docker run命令。

docker run -e 'SKIP_SETCAP=1' -e 'VAULT_LOCAL_CONFIG={"backend": {"file": {"path": "/vault/file"}}, "listener": { "tcp": { "address": "0.0.0.0:8200", "tls_disable": 1 } }, "default_lease_ttl": "168h", "max_lease_ttl": "720h", "disable_mlock": "true"}' vault server

当我尝试进入Vault服务器以验证Vault服务器初始化时,它会引发“连接被拒绝”错误。
ravindu@ravindu-Aspire-F5-573G:~$ curl http://127.0.0.1:8201/v1/sys/init
curl: (7) Failed to connect to 127.0.0.1 port 8201: Connection refused

以下是docker vault docker容器启动并运行时显示的消息,
==> Vault server configuration:

                     Cgo: disabled
              Listener 1: tcp (addr: "0.0.0.0:8200", cluster address: "0.0.0.0:8201", tls: "disabled")
               Log Level: info
                   Mlock: supported: true, enabled: false
                 Storage: file
                 Version: Vault v0.8.3
             Version Sha: 6b29fb2b7f70ed538ee2b3c057335d706b6d4e36

==> Vault server started! Log data will stream in below:

下面给出的是我在Vault容器中的local.json,
{"backend": {"file": {"path": "/vault/file"}}, "listener": { "tcp": { "address": "0.0.0.0:8200", "tls_disable": 1 } }, "default_lease_ttl": "168h", "max_lease_ttl": "720h", "disable_mlock": "true"}

最佳答案

您不能 curl 的原因是因为您没有暴露端口。
您需要在运行命令中添加-p 8200:8200,并使用8200端口进行连接。

关于docker - 通过Vault Docker镜像运行时,无法 curl 到以服务器模式运行的Vault服务器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47049357/

10-12 23:44