我正在尝试使用docker设置HashiCorp保险库。我正在使用MySql数据库进行存储。我使用docker network在同一网络中创建了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时,出现以下错误
根据Dockerfile,默认情况下,Vault Docker容器在开发人员模式下运行。
因此,传递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