给客户 docker 镜像, 会导致源码泄露么?

2020-12-24 14:54:48 +08:00
 DinoStray
  1. 使用 docker 会导致源码泄露么? 比如把 docker 镜像直接给客户
  2. 如果默认会, 那我使用二阶构建, 也还是会泄露么?
5842 次点击
所在节点    程序员
25 条回复
wfhtqp
2020-12-24 14:56:00 +08:00
就看你的镜像里包不包含源码
manami
2020-12-24 14:57:42 +08:00
给了别人的东西安全都是没保证的,看你的代码值不值钱了
jones2000
2020-12-24 15:02:34 +08:00
编程成 2 进制执行文件发布。
DinoStray
2020-12-24 15:03:43 +08:00
@wfhtqp 包含的, 源码在 DockerFIle 中构建
eslizn
2020-12-24 15:05:22 +08:00
@DinoStray 直接 exec 进去就能捞出来
DinoStray
2020-12-24 15:06:04 +08:00
@eslizn 如果二阶构建呢
x66
2020-12-24 15:10:45 +08:00
如果你在外面 build 好了之后,Dockerfile 里面只做 ADD 制成品的话是不会泄露的。
当然 artifact 可以反编译这又是另一回事了。
ixx
2020-12-24 15:11:50 +08:00
dockerfile 构建没问题 近一点看你的 dockerfile 里管理写的 有没有将源码 copy 到镜像里 比如 go 项目你只把编译后的产出复制到镜像里 那镜像中是不会有源码的
ixx
2020-12-24 15:13:10 +08:00
@ixx #8 dockerfile 构建没问题 重点看你的 dockerfile 里怎么写的 有没有将源码 copy 到镜像里 比如 go 项目你只把编译后的产出复制到镜像里 那镜像中是不会有源码的 如果直接复制源码到镜像进执行 那就不行了 几层构建都不行
xuanbg
2020-12-24 15:19:52 +08:00
2 进制也能反汇编。总之,东西到了人家手里,就不受你的控制啦。安全?保密?不存在的!
zoharSoul
2020-12-24 15:58:22 +08:00
这个问题与 docker 无关
RudyS
2020-12-24 16:11:49 +08:00
只有 2 进制泄漏难度大些,但也不是不可能。
index90
2020-12-24 16:34:27 +08:00
二阶段构建不会
namelosw
2020-12-24 16:38:57 +08:00
你没说你的技术栈和你具体怎么做的。脚本一般明文,字节码一般比较好反编译,二进制比较难。还有就是 ignore 掉该 ignore 的
index90
2020-12-24 16:41:46 +08:00
话说个人觉得多阶段构建,按照 docker 目前给出的功能非常鸡肋。
1. 没有编译缓存( layer 缓存不算)
2. 多阶段构建的中间产物不好清理,经常导致构建机爆磁盘
3. dockerfile 中构建说是为了确保一致性,但软件制品质量是通过测试保证的,只要确保在流水线上二进制程序与容器打包产出,没有必要在 dockerfile 中构建
4. 可以在 builder 镜像中构建,然后在组装到输出镜像
whileFalse
2020-12-24 17:15:44 +08:00
好歹说语言啊
wangritian
2020-12-24 17:17:54 +08:00
二阶构建 只 copy 可执行程序 不会暴露源码
draguo
2020-12-24 17:57:31 +08:00
跟盗版游戏一样,要是收益足够高就能破解
Suddoo
2020-12-24 18:04:56 +08:00
只 ADD 可执行文件,问题应该不大吧
mmrx
2020-12-24 18:20:49 +08:00
核心的、值钱的逻辑建议放到你的服务上,docker 内的代码可以做个转发
接口做好认证啥的,这样即使别人拿到源码也不会拿到你的核心竞争力

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/738600

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX