【发布时间】:2020-11-17 05:37:28
【问题描述】:
我正在尝试学习如何使用 Docker 和 PostgreSQL 实现 Vault。 目标是使用 PostgreSQL 创建一个 docker 容器并使用 HashiCorp Vault 连接到它。 我设法用 docker、postgresql 和 vault 的配置创建了一个 yml 文件。
version: '3.1'
services:
db:
image: postgres
container_name: postgreSQLCon
restart: always
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: example
ports:
- 5432:5432 #important to configure vault with postgreSQL
adminer:
image: adminer
container_name: adminerCon
restart: always
ports:
- 8080:8080
vault:
image: vault:latest
container_name: vaultCon
depends_on:
- "db"
volumes:
- ./vault/config:/vault/config
- ./vault/policies:/vault/policies
- ./vault/data:/vault/data
- ./vault/logs:/vault/logs
ports:
- 8200:8200
environment:
- VAULT_ADDR=http://127.0.0.1:8200
cap_add:
- IPC_LOCK
command: ['vault', 'server', '-config=/vault/config/vault-config.json']
vault-config.json
{
"backend": {
"file": {
"path": "vault/data"
}
},
"listener": {
"tcp":{
"address": "0.0.0.0:8200",
"tls_disable": 1
}
},
"ui": true
}
当保管库启动时,我正在使用 docker exec -it 连接到容器。我设法解封并登录到保险库。当我运行以下命令时:
vault write database/config/my-postgresql-database \
plugin_name=postgresql-database-plugin \
allowed_roles="my-role" \
connection_url="postgresql://{{username}}:{{password}}@localhost:5432/?sslmode=disable" \
username="admin" \
password="example"
我收到以下错误:
Error writing data to database/config/my-postgresql-database: Error making API request.
URL: PUT http://127.0.0.1:8200/v1/database/config/my-postgresql-database
Code: 400. Errors:
* error creating database object: error verifying connection: dial tcp 127.0.0.1:5432: connect: connection refused
【问题讨论】:
标签: postgresql docker hashicorp-vault