Docker 图片:无法找到包 php7.2

Docker image: Unable to locate package php7.2

我有一个 bitbucket 管道设置,它已经完美地工作了一年,但几天前就停止工作了

这是我的 bitbucket 配置的开始部分

image: atlassian/default-image:2

options:
  max-time: 30
pipelines:
  default:
    - step:
        script:
          - echo "This script runs on all branches that don't have any specific pipeline assigned in 'branches'."
  branches:
    master:
      - step:
          caches:
            - composer
          name: cms
          deployment: production
          script:
            - apt-get update
            - apt-get install -y software-properties-common python-software-properties
            - add-apt-repository -y ppa:ondrej/php
            - apt-get update
            - apt-get install -y php7.2 php7.2-cli php7.2-common php7.2-mbstring
            - apt-get install -y php7.2-curl php7.2-xml
...
...

现在我不断收到以下错误(以前没有发生过):

+ apt-get install -y php7.2 php7.2-cli php7.2-common php7.2-mbstring
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package php7.2
E: Couldn't find any package by regex 'php7.2'
E: Unable to locate package php7.2-cli
E: Couldn't find any package by regex 'php7.2-cli'
E: Unable to locate package php7.2-common
E: Couldn't find any package by regex 'php7.2-common'
E: Unable to locate package php7.2-mbstring
E: Couldn't find any package by regex 'php7.2-mbstring'

我在 docker 图像端找不到任何更改,并且 ondrej 的存储库似乎仍然包含这些包。可能是什么问题?

atlassian/default-image:2 基于 ubuntu16.04(xenial),但其生命周期结束于 2021 年 4 月。

ppa:ondrej/php 主页我们可以看到下一个:

Don't ask for end-of-life PHP versions or Ubuntu release, they won't be provided.

这意味着所有者已经删除了对 ubuntu16.04 的支持,这就是为什么你不能在 ubuntu16.04 上安装 php7.2。

对于你来说,去PPA找另一个php7.2 ppa,例如ppa:jason.grammenos.agility/php,那么接下来可以解决您的问题:

$ add-apt-repository -y ppa:jason.grammenos.agility/php
$ apt-get update
$ apt-cache policy php7.2
php7.2:
  Installed: (none)
  Candidate: 7.2.15-1+ubuntu16.04.1+deb.sury.org+1
  Version table:
     7.2.15-1+ubuntu16.04.1+deb.sury.org+1 500
        500 http://ppa.launchpad.net/jason.grammenos.agility/php/ubuntu xenial/main amd64 Packages
$ apt-get install -y php7.2