我需要知道是否有可能创建一个运行我的php应用程序的容器,其中某些php文件无法从docker外部访问.
Docker机密不能应用于这种情况,也不能应用于其他情况.
有什么我可能会忽略的吗?
编辑:
显然这是不可能的,我仍然需要详细解释为什么这是不可能的.
Edit2:我们需要使运行容器的用户无法访问docker中的文件(因此无法读取代码).打开端口80通过apache执行/运行脚本不是问题.
解决方法:
我知道您打算以某种方式通过Docker分发应用程序,并且不希望运行容器的用户读取PHP代码.
Docker无法解决此问题,因为运行容器的用户可以访问容器文件系统.
隐藏源代码的问题通常由特定于编程语言的工具处理.一些工具尝试对源代码进行加密,然后对其进行动态解密.其他工具试图混淆源代码,以使其变得非常难以理解.
一些针对PHP的工具:
http://www.phpprotect.info/
http://www.semanticdesigns.com/Products/Obfuscators/PHPObfuscator.jsp
您可以在将代码添加到正在构建的映像中之前应用这些工具.
但是请注意,所有这些工具/技术都可以由平凡的用户撤消.
为了真正保护代码,您应该创建许可证或托管服务,并且仅公开API.