如何使用 docker Secret 设置属性 spring.cloud.config.server.git.password

2024-04-04

我想对我的 Spring Cloud 配置服务器应用程序进行 docker 化。我正在创建一个 docker 秘密git-repo-pass保存github账号密码。我正在设置环境SPRING_CLOUD_CONFIG_SERVER_GIT_PASSWORDdocker 秘密的默认路径是/run/secrets/git-repo-pass。但是,当我运行组合并检查容器时,我发现环境实际上设置为路径,而不是该路径的内容。

下面分享我的 docker-compose.yml 文件,

version: '3.8'
services:
    config-standalone:
        container_name: config-standalone
        image: ss-config:1.0
        ports:
            - "8888:8888"
        secrets:
            - git-repo-pass
        environment:
            - SPRING-CLOUD-CONFIG-SERVER-GIT-PASSWORD=/run/secrets/git-repo-pass

secrets:
    git-repo-pass:
        external: true

抛出异常:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: Cannot load environment] with root cause

请告诉我是否有办法使用 docker 密钥加载应用程序属性。 谢谢 !!


基本上,秘密只是文件,安全存储并在容器启动时安装。它本身不会成为环境变量,因此您必须实现这一点。

The fastest让事情运行的方法是将启动命令修改为类似的内容export SPRING-CLOUD-CONFIG-SERVER-GIT-PASSWORD=$(cat /run/secrets/git-repo-pass) && <actual_command>,它将把文件读入环境变量,然后执行它想要执行的操作。您可以在撰写文件中使用command服务名称下的选项。

The right解决这个问题的方法是创建第二个变量并更改应用程序以读取位于变量中存储的路径的文件。这类似于 Docker 镜像维护者的常见做法,即为机密提供第二个变量FILE最后,就像SPRING-CLOUD-CONFIG-SERVER-GIT-PASSWORD-FILE.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 docker Secret 设置属性 spring.cloud.config.server.git.password 的相关文章

随机推荐

  • ListView 中的 WPF ListView

    我确信我错过了一些简单 明显的东西 但我似乎无法在 ListView 中绑定 ListView 的数据
  • Java 中的 Thread.Sleep 替代方案

    有人告诉我使用Thread Sleep 有时 人们希望在同步方法的操作循环中设置一些时间间隔 这是一个糟糕的解决方案 另一方面 我有两个不同的线程 它们在程序运行期间处于活动状态 还有一个共享对象 当我在该共享对象中使用 Object wa
  • 是否有像 pygccxml 一样的 Python Clang 包装器来包装 GCC-XML?

    很长一段时间以来 我一直在使用 pygccxml 来解析和内省我的 C 源代码 它帮助我在构建过程中进行一些巧妙的代码生成 最近我读了很多关于 LLVM 堆栈的好处 特别是 LLVM Clang 解析器给 C 编译带来的好处 我现在想知道
  • 如何在 Debian 上升级 glibc?

    我听说我可以使用apt get install libc6 但我需要向 etc apt sources list 添加一些内容才能接收最新的 glibc 版本 我应该怎么办 我能够安装libc6 2 17 in Debian Wheezy通
  • 3D饼图:图例太大

    传说的问题太大了 当我改变cex的数量时 字体太小 盒子仍然很大 希望盒子和测试可以搭配 不会太小也不会太大 table lt data frame num c 90 26 28 39 98 countries c India Sri La
  • Parse.com:如何为 Fragment 内的 Parse ListView 添加搜索过滤器

    我正在尝试为选项卡片段内的 ListView 添加搜索过滤器 使用适配器从解析服务器调用数据 我的片段java文件如下 跑车 java import android os Bundle import android text Editabl
  • 如何使 Hibernate @Lock 注释适用于 Oracle DB?

    我偶然发现 Oracle DB 中锁定行的问题 锁的目的是防止多个事务从数据库读取数据 因为这些数据会影响新数据的生成 并且会在事务中发生更改 为了进行锁定 我将 Lock 注释放在 SpringData find 方法上 该方法检索参与事
  • std::vector 中的每个元素访问都是缓存未命中吗?

    据了解std vector将其数据保存在堆上 因此向量本身的实例和第一个元素具有不同的地址 另一方面 std array是原始数组的轻量级包装 其地址等于第一个元素的地址 假设集合的大小足以容纳一个缓存行int32 在我的具有 384kB
  • 在 WebBrowser 控件中检测滚动到底部

    我正在创建一个 Windows 窗体来接受公司的一些条款和条件 因此 条款和条件位于 Web 上 并通过 WebBrowser 控件导航到 WinForm 仅当完整文档滚动到底部后才需要启用 接受 按钮 我正在寻找类似于 VScrollBa
  • 在 Windows Vista/7 下复制到 Program Files

    我用C 编写了一个向导 它将一些文件安装到Windows下的程序文件文件夹中 据我了解 我需要管理员权限才能在 Vista 7 下写入程序文件 所以我的问题是 有没有一种方法可以在应用程序分别运行时仅针对一个向导页面打开管理员权限 或者我是
  • 巴泽尔的$地点扩张

    我想添加 location 扩展到rules scala for jvm flags我在其中设置依赖项的属性data属性 但失败了 label src java com google devtools build lib worker in
  • CoffeeScript 类在主 javascript 中不可访问

    我有一个用咖啡脚本编写的课程 例如 class Example constructor gt each 1 2 3 key value gt test value return test render gt alert test 我把这个类
  • Mahapps 1.3 对话框和 Avalon.Wizard

    我已经集成了流行的 UI 库Mahapps http mahapps com 与阿瓦隆精灵 https avalonwizard codeplex com 控制 它集成得很好 但我对 Mahapps 对话框有疑问 Wizard 控件定义了一
  • PYPY3——无法安装 Pandas

    我一直在尝试在 PYPY 中安装 pandas 但没有成功 以下是完整的日志消息 Windows 10 64 位操作系统 已安装 Visual C 2015 2019 可再发行组件 Python 3 7 点 19 3 1 通过 Anacon
  • 在中国电话中向上滑动时应用程序后台服务停止

    我一直在寻找有关中国手机 Oppo 华为 小米 Vivo 等 这个问题的答案 当应用程序向上滑动 关闭 时 后台服务停止运行 大多数解决方案是 包含 START STICKY 并使用 AlarmManager 启动服务 以编程方式将用户引导
  • Java Reflection:查找自定义 AbstractProcessor 中的方法用法

    我是反思的新手 有没有办法检测特定方法在哪里被调用 例如 public class MyClass public static void method DO SOMETHING public class Test public test M
  • 如何更改 Emacs 中的草稿消息?

    刮擦消息总是说 This buffer is for notes you don t want to save and for Lisp evaluation If you want to create a file visit that
  • 在不使用服务器套接字的情况下侦听 AS3 (AIR) 客户端中的传入连接

    我设法创建一个 C 服务器 使用它向 AS3 AIR 客户端发送文件sockets 在 AS3 方面我使用的是flash net Socket库通过以下方式接收数据TCP 它是这样工作的 gt 我打开我的服务器 它侦听客户端 另外我可以创建
  • Nextjs 从父目录导入外部组件

    我有外部目录common我想将反应组件从该目录导入到web static In web static我正在使用nextjs 目前我遇到这个错误 Module not found Can t resolve react in Users ja
  • 如何使用 docker Secret 设置属性 spring.cloud.config.server.git.password

    我想对我的 Spring Cloud 配置服务器应用程序进行 docker 化 我正在创建一个 docker 秘密git repo pass保存github账号密码 我正在设置环境SPRING CLOUD CONFIG SERVER GIT