我对这个技术栈很陌生,所以请试着忍受我。
我在Windows上,我的工作场所有一些仓库,我需要在docker容器上运行。它真的很旧,因为他们使用PHP 5.6与debian镜像,无论何时他们开始工作。dockerfile中的前两个命令包含以下内容:
FROM php:5.6-apache
RUN apt update
字符串
当我尝试构建时,它无法到达图像,因为它们不再存在:
0.294 Ign:1 http://security.debian.org/debian-security stretch/updates InRelease
0.297 Ign:2 http://deb.debian.org/debian stretch InRelease
0.315 Err:3 http://security.debian.org/debian-security stretch/updates Release
0.315 404 Not Found [IP: 151.101.130.132 80]
0.325 Ign:4 http://deb.debian.org/debian stretch-updates InRelease
0.352 Err:5 http://deb.debian.org/debian stretch Release
0.352 404 Not Found [IP: 146.75.74.132 80]
型
我尝试在RUN apt update
之前使用FROM debian:buster
,但失败了,因为我假设不支持依赖项,这显示了这样的错误:
=> ERROR [REDACTED stage-1 4/17] RUN docker-php-ext-install mbstring opcache pdo_mysql mysqli s 0.3s
------
> [REDACTED stage-1 4/17] RUN docker-php-ext-install mbstring opcache pdo_mysql mysqli simplexml xsl zip gd:
0.331 /bin/sh: 1: docker-php-ext-install: not found
------
failed to solve: process "/bin/sh -c docker-php-ext-install mbstring opcache pdo_mysql mysqli simplexml xsl zip gd" did not complete successfully: exit code: 127
型
有人可以帮助我如何在容器中运行PHP5.6与当前的dockerfile我已经链接here.
2条答案
按热度按时间qojgxg4l1#
你需要更新你的Debian发行版,或者用旧软件包仓库的新位置更新
sources.list
。有这个tutorial,它不是官方文档,但仍然可以帮助你。但是我强烈建议你 * 不要 * 这样做。PHP 5.6的主动支持和安全支持分别于2017年1月19日和12月31日结束,2018.我强烈建议你逐步更新你的应用程序到supported PHP versions .这也将允许你“拉”最新的Linux发行版在Docker镜像中附带了最新的PHP版本。因此,您不必手动编辑
sources.list
或更新您的发行版,这可能非常棘手,并导致与应用程序的兼容性问题。使用
FROM debian:buster
不会像你说的那样工作,因为docker-php-ext-install
是一个只存在于PHP Docker镜像中的可执行文件。bejyjqdl2#
您需要使用存档镜像,因为当一个版本到达EOL时,EOL版本的目录将被移动到存档。例如:
字符串
应该从源代码中删除安全存储库。
Debian wiki: debian-archive