首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

在 spring 打包 jar 包复制到 docker image 后别人可以查看我的 resource 下的配置文件吗?

  •  
  •   niuxuewei · 172 天前 · 1365 次点击
    这是一个创建于 172 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,原因是*.properties 中会存在一些敏感信息,如果打包到 docker 中如何保障这些文件的安全,我觉得因为打包成 jar 包了所以.dockerignore 应该是不起作用的。

    12 回复  |  直到 2019-04-29 11:10:02 +08:00
        1
    qinxi   172 天前   ♥ 1
    用环境变量的形式设置敏感信息
        2
    mgcnrx11   172 天前 via iPhone   ♥ 1
    完全可以,甚至都不用起一个容器
        3
    Luckyray   172 天前   ♥ 1
    如果没理解错你的意思的话...
    image 就是一个人人都能看到的 linux 系统,你放里面的东西自然也能看到。
    如果你的配置文件是放到了 jar 包里面,那应该不用工具是打不开的,不过开 jar 包的工具太普遍了。所以你的配置文件基本等于是暴露的。
        4
    isCyan   172 天前 via Android   ♥ 1
    环境变量
    你需要一个读取环境变量的东西
    可以直接写在代码里
    也可以写个脚本,sed 修改配置文件
        5
    HuHui   172 天前 via Android   ♥ 1
    能拿到你的文件就谈不上安全了
        6
    niuxuewei   172 天前
    谢谢各位 我这就去试一下
        7
    liuzuo   172 天前 via Android   ♥ 1
    不应该用 config server+解密么
        8
    aa6563679   172 天前 via iPhone   ♥ 1
    可以把配置文件放 Spring cloud config 上
        9
    niuxuewei   172 天前
    @liuzuo @aa6563679 因为只是做毕业设计没必要做的那么复杂,所以没有用 spring cloud,只是用 spring boot + docker 加快部署过程
        10
    zpf124   172 天前
    只要又你的镜像或者容器就能读取到.

    容器启动之后 直接 exec 进入容器,然后看一下 endpoint 启动脚本 知道配置存哪了直接就 echo 或者 cat 看到了.
        11
    mritd   172 天前 via iPhone
    还是没搞懂你的情况,如果你的 resources 怕被人看见,那么你不管部署到哪,只要打包到 jar 里就可以被拿到,环境变量更扯淡,所以唯一解决方案就是移除 resources 敏感信息,然后 使用配置中心,远程加载,但不管怎样,你的配置始终是下发到客户端,那么不管怎样还是能拿到,只不过是难度大小问题
        12
    solaya   172 天前
    Apollo ?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4195 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 08:58 · PVG 16:58 · LAX 01:58 · JFK 04:58
    ♥ Do have faith in what you're doing.