代码之家  ›  专栏  ›  技术社区  ›  Dan The Man

Vault Docker图像-无法获取REST响应

  •  1
  • Dan The Man  · 技术社区  · 6 年前

    创建配置文件 local.json

    {
            "listener": [{
                    "tcp": {
                            "address": "127.0.0.1:8200",
                            "tls_disable" : 1
                    }
            }],
            "storage" :{
                    "file" : {
                            "path" : "/vault/data"
                    }
            }
            "max_lease_ttl": "10h",
            "default_lease_ttl": "10h",
    }
    

    在下面 /vault/config

    运行命令启动映像

    docker run -d -p 8200:8200 -v /home/vault:/vault --cap-add=IPC_LOCK vault server
    

    docker exec -it containerId /bin/sh
    

    export VAULT_ADDR='http://127.0.0.1:8200' 然后呢 vault init

    获取对以下url的请求: http://Ip-of-the-docker-host:8200/v1/sys/init

    没有得到回应。

    curl http://127.0.0.1:8200/v1/sys/init
    curl: (56) Recv failure: Connection reset by peer
    

    没有在网上找到合适的解释是什么问题,或者如果我做错了什么。

    有什么想法吗?

    1 回复  |  直到 6 年前
        1
  •  3
  •   David Maze    6 年前

    如果在Docker容器中运行的服务器绑定到127.0.0.1,那么从特定容器之外的任何东西都无法访问它(而且由于容器通常只运行一个进程,这意味着任何人都无法访问它)。将侦听器地址更改为0.0.0.0:8200;如果需要限制对Vault服务器的访问,请将其绑定到 docker run -p 选项。