我在Ubuntu 16.04上部署了Vault Docker映像,我已经成功从映像本身内部对其进行了初始化,但是我无法获得任何Rest响应,甚至curl也无法正常工作。
我正在执行以下操作:
创建配置文件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
输入图片的bash终端:
docker exec -it containerId /bin/sh
在以下命令中运行
export VAULT_ADDR='http://127.0.0.1:8200'
然后 vault init
它工作正常,但是当我尝试发送其余信息以检查Vault是否已初始化时:获取对以下url的请求: http://Ip-of-the-docker-host:8200/v1/sys/init
没有反应。
甚至curl命令失败:
curl http://127.0.0.1:8200/v1/sys/init
curl: (56) Recv failure: Connection reset by peer
在网上找不到任何适当解释的问题是什么,或者我做错了什么。
有任何想法吗?
如果在Docker容器中运行的服务器绑定到127.0.0.1,则从该特定容器之外的任何内容都无法访问该服务器(并且由于容器通常仅运行单个进程,因此任何人都无法访问该服务器)。将侦听器地址更改为0.0.0.0:8200; 如果需要限制对Vault服务器的访问,请在docker run -p
选项中将其绑定到特定的主机地址。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句