如题,原因是*.properties 中会存在一些敏感信息,如果打包到 docker 中如何保障这些文件的安全,我觉得因为打包成 jar 包了所以.dockerignore 应该是不起作用的。
1
qinxi 2019-04-28 18:06:13 +08:00 1
用环境变量的形式设置敏感信息
|
2
mgcnrx11 2019-04-28 18:06:44 +08:00 via iPhone 1
完全可以,甚至都不用起一个容器
|
3
Luckyray 2019-04-28 18:08:57 +08:00 1
如果没理解错你的意思的话...
image 就是一个人人都能看到的 linux 系统,你放里面的东西自然也能看到。 如果你的配置文件是放到了 jar 包里面,那应该不用工具是打不开的,不过开 jar 包的工具太普遍了。所以你的配置文件基本等于是暴露的。 |
4
isCyan 2019-04-28 18:09:30 +08:00 via Android 1
环境变量
你需要一个读取环境变量的东西 可以直接写在代码里 也可以写个脚本,sed 修改配置文件 |
5
HuHui 2019-04-28 18:11:53 +08:00 via Android 1
能拿到你的文件就谈不上安全了
|
6
niuxuewei OP 谢谢各位 我这就去试一下
|
7
liuzuo 2019-04-28 21:01:39 +08:00 via Android 1
不应该用 config server+解密么
|
8
aa6563679 2019-04-29 08:12:10 +08:00 via iPhone 1
可以把配置文件放 Spring cloud config 上
|
9
niuxuewei 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 ?
|