Docker-Compose中的Spring应用程序和保险库:如何启动Vault Server?
我正在研究一个应用程序,该应用程序应该从Vault获得一些秘密。 我希望该应用程序可以在容器和另一台库服务器上运行。 但是,我遇到了一些问题,将事情与码头组合在一起。
services:
app:
image: app/progettinotoy
networks:
- mainnet
ports:
- 8080:8080
depends_on:
- "vault"
vault:
image: vault
cap_add:
- "IPC_LOCK"
networks:
- mainnet
ports:
- 8200:8200
environment:
VAULT_ADDR: http://127.0.0.1:8200
VAULT_LOCAL_CONFIG:
api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
ui = true
backend "file" {
path = "/vault/file"
}
listener "tcp" {
address = "0.0.0.0:8200"
tls_disable = "true"
}
command:
- "server"
networks:
mainnet:
driver: bridge
主要原因是,即使正在运行Vault服务器,我也应该执行Vault Operator Init
并在应用程序开始与Vault Server交互之前获取root令牌和Unseal键。 我该怎么做?
I'm working on an application that should get some secrets from Vault.
I want the app to run on a container and the vault server on another one.
However I'm having some issues putting things together with docker-compose.
services:
app:
image: app/progettinotoy
networks:
- mainnet
ports:
- 8080:8080
depends_on:
- "vault"
vault:
image: vault
cap_add:
- "IPC_LOCK"
networks:
- mainnet
ports:
- 8200:8200
environment:
VAULT_ADDR: http://127.0.0.1:8200
VAULT_LOCAL_CONFIG:
api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
ui = true
backend "file" {
path = "/vault/file"
}
listener "tcp" {
address = "0.0.0.0:8200"
tls_disable = "true"
}
command:
- "server"
networks:
mainnet:
driver: bridge
The main reason is that even though vault server is running, I should execute vault operator init
and get root token and unseal keys before application starts to interact with vault server.
How can i do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
答案取决于存储在
/Vault/File
上的数据发生了什么。如果数据持续(是否可以在重新启动中生存)?如果是这样,您应该自己部署保管库,并进行适当的初始化仪式。
如果不是(如临时测试实例),请在dev模式下以
server -dev -dev -dev-root-token-id = asdf
运行保险库,它将使用asdf
作为根令牌。The answer depends on what happens to the data stored on
/vault/file
.If the data is persistent (will it survive a restart)? If so, you should deploy Vault on its own and do a proper initialization ceremony.
If not (like an ephemeral test instance), run Vault in DEV mode with
server -dev --dev-root-token-id=asdf
, it will useasdf
as the root token.