当通过 docker 运行 时,无法访问 Hashicorp 保险库 ui

Hashicorp vault ui is not accessible when running it through docker

我正在尝试使用 docker 设置 HashiCorp 保险库。我正在使用 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 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