我一直在尝试使用 docker 在生产环境中通过 https 运行 hashcorp/vault docker 镜像。
我正在运行节点服务器并使用 hashi-vault-js npm 包连接到我的保管库
我在开发模式下完成了此操作,这非常简单,但在生产中却没有那么多。
在开发模式下,我运行:
sudo docker run --name=dev-vault --cap-add=IPC_LOCK -p 8200:8200 hashicorp/vault:latest server -dev
然后我通过在容器的隔离模式下执行命令来导出 VAULT_ADDR 和 VAULT_TOKEN 。
但这会在开发模式下运行它,并且没有安全的 SSL/TLS。
从官方文档中,我创建了一个Vault.hcl并配置了所有内容,但它似乎总是想找到一个local.json文件......真的很困惑......(我是HashicorpVault的新手)。
那么请问我如何在生产中做到这一点,但使用安全的 SSL/TLS 并且没有 mlock 😞🥺🥺。
您必须像下面这样更改 docker entrypoint 命令才能使用自定义
vault.hcl
文件。
vault server -config=/vault/vault.hcl
示例
docker-compose.yaml
文件(vault.hcl 文件位于 /home/volumes/vault/
内)
version: "3.8"
services:
vault:
image: hashicorp/vault
container_name: vault
environment:
VAULT_ADDR: http://127.0.0.1:8200
ports:
- "8200:8200"
volumes:
- /home/volumes/vault/:/vault/:rw
cap_add:
- IPC_LOCK
entrypoint: vault server -config=/vault/vault.hcl