Docker,Alpine,IonCube,PHP7 FPM

我正在尝试Dockerize使用IonCubeencryption的PHP应用程序。

独立于IonCube的应用程序运行良好,当我尝试Dockerize这与精益图像(Docker,Alpine,PHP7.0)它唯一的失败围绕IonCube安装。

采取的步骤:

  1. 按照显示的IonCube指示进行安装。
  2. 尝试安装后,导航到Docker镜像中的目录,以确认COPY已正确执行,并且所有相关文件都使用“docker exec -it image_name / bin / sh”显示在映像中。
  3. 虽然这些文件按照上面的命令显示,但在检查完映像后,Powershell中的一条消息显示:“加载失败/usr/lib/php7/modules/ioncube_loader_lin_7.0.so:重定位/ usr / lib / php7 / modules / ioncube_loader_lin_7 .0.so:__strtod_internal:找不到符号“。
  4. 再次访问docker图像“docker执行 – 图像名称/ bin / sh”和文件显示。 但似乎无法加载.SO文件。
  5. 最初以为也许它是一个目录权限问题,但仍然没有运气,当我chmod目录777。

有没有人在过去遇到这个问题?

Dockerfile内容:

FROM richarvey/nginx-php-fpm:php7 COPY web /www RUN chmod -R 777 /usr/lib/php7/modules COPY web/ioncube/linux-64 /usr/lib/php7/modules COPY web/ioncube/linux-64-ini /etc/php7/conf.d WORKDIR /www 

IonCube loader-wizard.php说明:

  1. 下载以下Linux x86-64装载机存档之一:
    • tar.gz的
    • TAR.BZ2
  2. 将加载器文件放在/ usr / lib / php7 / modules中
  3. 编辑文件/etc/php7/conf.d/00_ioncube.ini,并在任何其他zend_extension行之前确保包含以下内容: zend_extension = /usr/lib/php7/modules/ioncube_loader_lin_7.0.so
  4. 重新启动服务器软件。

在执行上面的步骤之后,检查Alpine中的相应目录中是否存在相应的文件,然后破坏Docker镜像,然后运行它,但是没有Joy。 然后,我也尝试重新启动泊坞窗图像而不是“docker rm image_name”,以防摧毁已安装的IonCube相关更改,但仍然没有运气。

我有点不知所措

任何指针或指导表示赞赏。

问题的根源是因为IonCube需要glibc (GNU C库)。 IonCube在我的推特里提到,这是他们将来要解决的问题。 (没有时间表给出)

参考资料: https : //en.wikipedia.org/wiki/GNU_C_Library