如何在Docker上安装mcrypt

如何在Docker上安装mcrypt,docker,mcrypt,php-extension,Docker,Mcrypt,Php Extension,我有一个带有Phalcon3和PHP7的Docker容器。我试图安装php扩展Mcrypt,但运气不好 如果我对容器执行ssh,并执行: apt-get update apt-get install php7.0-mcrypt 我得到以下信息: E: Unable to locate package php7.0-mcrypt E: Couldn't find any package by regex 'php7.0-mcrypt' 有什么方法可以安装它吗?让我们看看PHP核心扩展部分的

我有一个带有Phalcon3和PHP7的Docker容器。我试图安装php扩展Mcrypt,但运气不好

如果我对容器执行ssh,并执行:

apt-get update
apt-get install php7.0-mcrypt  
我得到以下信息:

E: Unable to locate package php7.0-mcrypt
E: Couldn't find any package by regex 'php7.0-mcrypt'

有什么方法可以安装它吗?

让我们看看PHP核心扩展部分的官方手册

例如,如果您想要一个带有iconv的PHP-FPM映像,请使用mcrypt 和gd扩展,您可以继承您喜欢的基本映像 编写自己的Dockerfile,如下所示:

请记住,您必须手动安装扩展的依赖项。如果 扩展需要自定义配置参数,您可以使用 docker php ext配置脚本,如本例所示。没有必要这样做 在本例中,手动运行docker php源代码,因为这是由 配置和安装脚本

从PHP手册:

此扩展已被移动到»PECL存储库,并且从PHP7.4.0起不再与PHP捆绑

因此,在Dockerfile中,您必须:

RUN apt-get install libmcrypt-dev
RUN pecl install mcrypt-1.0.4 && docker-php-ext-enable mcrypt

你应该总是从一个
apt-get-update
开始,所以尝试一下
apt-get-update&&apt-get-install-y php7.0-mcrypt
首先更新是必要的,因为你可能会使用一个操作系统(ubuntu、Debian或类似的),该操作系统自发布以来已经有很多更新。顺便说一句,
sudo
是没有必要的,你是root,除非你做了
USER myuser
看看(php:7.1-fpm中的
一行是建立在Debian上的)@user2915097对不起,是的,我很容易得到更新,你是对的,sudo实际上没有必要抱怨它。我更新了命令。另外,我正在尝试修改一个现有的容器,而不是创建一个新的容器,正如您在第二条评论中所建议的那样。发布Dockerfile,这将非常简单谢谢您的帮助。您还可以在容器上使用ssh并执行相同的命令:apt get update&&apt get install-y\libfreetype6 dev\libjpeg62 turbo dev\libmcrypt dev\libpng dev\&&docker php ext install-j$(nproc)iconv mcrypt\&&docker php ext configure gd--with freetype dir=/usr/include/--with jpeg dir=/usr/include/\&&docker php ext install-j$(nproc)gd似乎可以工作,但在Lando下不能完全工作。或者我需要在那里添加一些东西?
RUN apt-get install libmcrypt-dev
RUN pecl install mcrypt-1.0.4 && docker-php-ext-enable mcrypt