Docker,Alpine,IonCube,PHP7 FPM
我正在尝试Dockerize使用IonCubeencryption的PHP应用程序。
独立于IonCube的应用程序运行良好,当我尝试Dockerize这与精益图像(Docker,Alpine,PHP7.0)它唯一的失败围绕IonCube安装。
采取的步骤:
- 按照显示的IonCube指示进行安装。
- 尝试安装后,导航到Docker镜像中的目录,以确认COPY已正确执行,并且所有相关文件都使用“docker exec -it image_name / bin / sh”显示在映像中。
- 虽然这些文件按照上面的命令显示,但在检查完映像后,Powershell中的一条消息显示:“加载失败/usr/lib/php7/modules/ioncube_loader_lin_7.0.so:重定位/ usr / lib / php7 / modules / ioncube_loader_lin_7 .0.so:__strtod_internal:找不到符号“。
- 再次访问docker图像“docker执行 – 图像名称/ bin / sh”和文件显示。 但似乎无法加载.SO文件。
- 最初以为也许它是一个目录权限问题,但仍然没有运气,当我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说明:
- 下载以下Linux x86-64装载机存档之一:
- tar.gz的
- TAR.BZ2
- 将加载器文件放在/ usr / lib / php7 / modules中
- 编辑文件/etc/php7/conf.d/00_ioncube.ini,并在任何其他zend_extension行之前确保包含以下内容: zend_extension = /usr/lib/php7/modules/ioncube_loader_lin_7.0.so
- 重新启动服务器软件。
在执行上面的步骤之后,检查Alpine中的相应目录中是否存在相应的文件,然后破坏Docker镜像,然后运行它,但是没有Joy。 然后,我也尝试重新启动泊坞窗图像而不是“docker rm image_name”,以防摧毁已安装的IonCube相关更改,但仍然没有运气。
我有点不知所措
任何指针或指导表示赞赏。
问题的根源是因为IonCube需要glibc (GNU C库)。 IonCube在我的推特里提到,这是他们将来要解决的问题。 (没有时间表给出)
参考资料: https : //en.wikipedia.org/wiki/GNU_C_Library
- 高山linuxdocker上的apache-spark启动错误
- 高山linux – autossh(缺less)
- docker高山形象的基本命令不起作用
- 为什么我的阿尔卑斯docker上没有findbin / sh?
- 我如何使用OpenRC(Alpine)在Docker中自动启动服务?
- 如何运行我所拉的“sudo docker pull ppc64le / alpine:edge”的docker图像,但运行此图像时出现错误
- 执行shell命令不会产生任何结果
- docker-compose构build失败/ bin / sh:apt-get:not found
- Alpine Linux 3.7上的Docker容器:奇怪的pid 1在容器的pid命名空间中不可见