一个完全封闭的源 docker 容器
A completely closed source docker container
我想知道是否可以提供 Docker 图像,但不允许访问构建容器的内部结构。基本上,容器镜像的用户可以使用它们提供的服务,但不能深入容器内的任何代码。
称其为混淆源代码的一种方法,但也可以在容器的基础上向某人提供服务(软件),而不是提供软件本身。类似于 "Container as a Service",但主要优点是开发人员也可以将这些容器用于本地开发,但无法访问容器内的底层代码。
我的第一个想法是,Docker 实例的控制器控制一切,直至 root 访问权限。所以不,这是不可能的。但是,我是 Docker 的新手,并不知道它的所有可能性。
这个想法有可能吗?
仅基于混淆的解决方案是不够的,如“Encrypted and secure docker containers”的详细信息。
您需要完全控制您的容器所在的主机 运行,以防止任何 "poking"。在您的场景中情况并非如此,开发人员确实可以访问主机(即 his/her 本地开发机器),其中所述容器将 运行.
有时所做的是在远程位置(远程服务器、USB 设备)上有一些 "core" 代码到 运行,这样外部代码在一方面可以做一些客户端身份验证,但更重要的是 运行 一些业务核心代码,以保证外部代码 "has" 被执行以完成工作。如果它只是一些实际上不是核心代码的检查,破解者可以覆盖它并避免在客户端调用它。但是,如果代码实际上需要 运行 而不是,则软件将无法完成其处理。当然,所有这些都会产生开销,无论是复杂性还是可能的计算时间,但这是您可以部署一些东西的一种方式,这些东西将始终需要联系您的 server/external 设备。
此致,
爱德华多
我想知道是否可以提供 Docker 图像,但不允许访问构建容器的内部结构。基本上,容器镜像的用户可以使用它们提供的服务,但不能深入容器内的任何代码。
称其为混淆源代码的一种方法,但也可以在容器的基础上向某人提供服务(软件),而不是提供软件本身。类似于 "Container as a Service",但主要优点是开发人员也可以将这些容器用于本地开发,但无法访问容器内的底层代码。
我的第一个想法是,Docker 实例的控制器控制一切,直至 root 访问权限。所以不,这是不可能的。但是,我是 Docker 的新手,并不知道它的所有可能性。
这个想法有可能吗?
仅基于混淆的解决方案是不够的,如“Encrypted and secure docker containers”的详细信息。
您需要完全控制您的容器所在的主机 运行,以防止任何 "poking"。在您的场景中情况并非如此,开发人员确实可以访问主机(即 his/her 本地开发机器),其中所述容器将 运行.
有时所做的是在远程位置(远程服务器、USB 设备)上有一些 "core" 代码到 运行,这样外部代码在一方面可以做一些客户端身份验证,但更重要的是 运行 一些业务核心代码,以保证外部代码 "has" 被执行以完成工作。如果它只是一些实际上不是核心代码的检查,破解者可以覆盖它并避免在客户端调用它。但是,如果代码实际上需要 运行 而不是,则软件将无法完成其处理。当然,所有这些都会产生开销,无论是复杂性还是可能的计算时间,但这是您可以部署一些东西的一种方式,这些东西将始终需要联系您的 server/external 设备。
此致, 爱德华多