如何使用 docker 处理密钥库/部署

问题描述

我正在尝试使用 Ballerina 构建一个使用 JWT 身份验证并使用 docker 部署的 REST-Api。

我设法构建了一个具有几个端点的简单服务并部署了一个 Docker 映像。

现在我想添加 JWT 身份验证。

我尝试使用此示例:https://ballerina.io/learn/by-example/secured-service-with-jwt-auth.html (v1.2 和天鹅湖)

但是,当我尝试运行该示例时,我得到: “错误:找不到密钥库文件 \bre\security\ballerinaKeystore.p12”(我使用的是 Windows) (我可能必须在这里设置我自己的密钥库才能使其工作,但该示例没有说明任何内容。)

编辑:没关系...我是个白痴。忘记传递 --b7a.home= 但这仍然留下了我关于使用 docker 部署的以下问题。

另外:(我认为)我了解密钥库是什么以及我为什么需要它。但是:如何在开发或部署期间处理密钥库?将密钥库文件推送到存储库似乎是个坏主意。我在哪里保存它?以及如何部署它?还是我在这里完全错了?

解决方法

您可以参考Sample with DockerSample with Kubernetes,了解如何使用注解部署 https 服务。

要在没有注释的情况下使用,您需要将 keystores/trustores 复制到 docker 文件,并将该路径提供给 http 服务侦听器的配置。在生产中,您很可能拥有自己的密钥库和信任库。因此,最好将这些复制到 docker 文件并让您的服务运行。