通过Docker运行时,Hashicorp Vault UI无法访问。

4

我正在尝试使用Docker设置HashiCorp Vault。 我正在使用MySQL数据库进行存储。 我在同一个Docker网络中创建了MySql和Vault Docker容器。

config.hcl

ui = true

storage "mysql" {
  address = "localhost:3306"
  username = "root"
  password = "Test@12345"
  database = "vault"
}

listener "tcp" {
 address = "127.0.0.1:8200"
 tls_disable = "true"
 }

MySql 容器:

docker run --name vault-mysql -e MYSQL_ROOT_PASSWORD=Test@12345 -d --network vault_network  mysql:latest

保险库容器:

docker run  -p 8200:8200 -e 'VAULT_LOCAL_CONFIG={"backend": {"file": {"path": "/Users/jaddap2/vault/config.hcl"}}, "default_lease_ttl": "168h", "max_lease_ttl": "720h"}'  \
 --cap-add=IPC_LOCK --network vault_network  vault server

当我尝试使用http://127.0.0.1:8200/ui访问保险库时,出现以下错误。

vault error


他们在运行吗?你能检查容器的状态吗? - hariK
@hariK 是的,我可以登录到单个容器中。 - Pavan Jadda
1
你能把bind-address改成address = "0.0.0.0:8200"然后试试吗? - hariK
@hariK 我试过了,不起作用 - Pavan Jadda
1个回答

5

Vault Docker容器默认以开发模式运行,根据Dockerfile。因此,传递server参数不会有任何不同。您可以简单地运行vault。然后,您将能够访问UI。但在开发模式下,它在内存中运行。

docker run  -p 8200:8200 -e 'VAULT_LOCAL_CONFIG={"backend": {"file": {"path": "/tmp/config.hcl"}}, "default_lease_ttl": "168h", "max_lease_ttl": "720h"}'  \
 --cap-add=IPC_LOCK --network vault_network vault

啊,真遗憾。你的命令是有效的,只是我在文件路径上遇到了访问被拒绝的问题。 - Pavan Jadda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接