繁体   English   中英

docker-compose 中的 Spring 应用程序和 Vault:如何初始化 Vault 服务器?

[英]Spring application and Vault in docker-compose: how to init vault server?

我正在开发一个应该从 Vault 获取一些秘密的应用程序。 我希望应用程序在一个容器上运行,而保管库服务器在另一个容器上运行。 但是,我在将东西与 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        

主要原因是即使保险库服务器正在运行,我也应该在应用程序开始与保险库服务器交互之前执行vault operator init并获取根令牌和解封密钥。 我怎样才能做到这一点?

答案取决于存储在/vault/file上的数据会发生什么。

如果数据是持久的(它会在重启后仍然存在)? 如果是这样,您应该自行部署 Vault 并进行适当的初始化仪式。

如果不是(如临时测试实例),请使用server -dev --dev-root-token-id=asdf在 DEV 模式下运行 Vault,它将使用asdf作为根令牌。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM