我需要知道是否有可能创建一个运行我的 php 应用程序的容器,其中一些 php 文件无法从 docker 外部访问。
Docker secret不适用于这种情况。
有什么我可能忽略的吗?
编辑: 显然这是不可能的,我仍然需要详细解释为什么这是不可能的。
Edit2:我们需要让运行容器的用户无法访问 docker 中的文件(因此无法读取代码)。打开端口 80 以通过 apache 执行/运行脚本不是问题。
最佳答案
我了解到您打算以某种方式通过 Docker 分发您的应用程序,并且不希望运行容器的用户读取 PHP 代码。
这个问题不是 Docker 可以解决的,因为运行容器的用户可以访问容器文件系统。
隐藏源代码的问题通常由特定于编程语言的工具来处理。一些工具尝试加密源代码并即时解密。其他工具试图混淆源代码,使其变得很难被理解。
一些用于 PHP 的工具:
http://www.phpprotect.info/ http://www.semanticdesigns.com/Products/Obfuscators/PHPObfuscator.jsp
您可以在将代码添加到正在构建的镜像中之前应用这些工具。 但是请注意,所有这些工具/技术都可以被非普通用户逆转。
要真正保护代码,您应该创建许可证或托管服务并仅公开 API。
关于php - 使用运行 docker 容器的用户无法访问的 php 文件构建容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46365636/