如题,原因是*.properties 中会存在一些敏感信,如果打包到 docker 中如何保障这些文件的安全,我觉得因为打包成 jar 包了所以.dockerignore 应该是不起作用的。
![]() | 1 qinxi 2019-04-28 18:06:13 +08:00 ![]() 用环境变量的形式设置敏感信息 |
![]() | 2 mgcnrx11 2019-04-28 18:06:44 +08:00 via iPhone ![]() 完全可以,甚至都不用起一个容器 |
![]() | 3 Luckyray 2019-04-28 18:08:57 +08:00 ![]() 如果没理解错你的意思的话... image 就是一个人人都能看到的 linux 系统,你放里面的东西自然也能看到。 如果你的配置文件是放到了 jar 包里面,那应该不用工具是打不开的,不过开 jar 包的工具太普遍了。所以你的配置文件基本等于是暴露的。 |
![]() | 4 isCyan 2019-04-28 18:09:30 +08:00 via Android ![]() 环境变量 你需要一个读取环境变量的东西 可以直接写在代码里 也可以写个脚本,sed 修改配置文件 |
5 HuHui 2019-04-28 18:11:53 +08:00 via Android ![]() 能拿到你的文件就谈不上安全了 |
![]() | 6 xavierniu OP 谢谢各位 我这就去试一下 |
7 liuzuo 2019-04-28 21:01:39 +08:00 via Android ![]() 不应该用 config server+解密么 |
8 aa6563679 2019-04-29 08:12:10 +08:00 via iPhone ![]() 可以把配置文件放 Spring cloud config 上 |
![]() | 9 xavierniu OP |
![]() | 10 zpf124 2019-04-29 09:07:08 +08:00 只要又你的镜像或者容器就能读取到. 容器启动之后 直接 exec 进入容器,然后看一下 endpoint 启动脚本 知道配置存哪了直接就 echo 或者 cat 看到了. |
![]() | 11 mritd 2019-04-29 09:42:32 +08:00 via iPhone 还是没搞懂你的情况,如果你的 resources 怕被人看见,那么你不管部署到哪,只要打包到 jar 里就可以被拿到,环境变量更扯淡,所以唯一解决方案就是移除 resources 敏感信息,然后 使用配置中心,远程加载,但不管怎样,你的配置始终是下发到客户端,那么不管怎样还是能拿到,只不过是难度大小问题 |
![]() | 12 solaya 2019-04-29 11:10:02 +08:00 Apollo ? |