php - 使用运行 docker 容器的用户无法访问的 php 文件构建容器?

标签 php docker containers dockerfile

我需要知道是否有可能创建一个运行我的 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/

相关文章:

css - HTML+CSS |更改 `<div>` 内的背景位置 - 我该如何实现?

java - 带有适配器的 Android 自定义容器(六角形)

Docker容器将日志保存在宿主机目录下

php - 如何使用流 stream_socket_client() 在 aruba 中打开 ssl 连接

PHP: key 'xx' 的重复条目 'yy'

docker - 构建镜像后,如何从.gitlab-ci.yml运行我的docker镜像?

docker - Newman Docker 错误 : unknown option `--url'

PHP/MySQL 一个数组中包含两行

PHP PDO 找不到驱动程序

javascript - 使用 Docker 部署 MERN 应用程序时 NGINX 出现 Socket.io 错误