経緯
今更だがDockerでphp 5.6を実行する
パッケージインストールためにapt update
$ docker run --rm -it php:5.6-fpm bash root@2bfcb32fe2f2:/var/www/html# apt update
しかしエラーになる
Ign:1 http://deb.debian.org/debian stretch InRelease Ign:2 http://deb.debian.org/debian stretch-updates InRelease Err:3 http://deb.debian.org/debian stretch Release 404 Not Found Err:4 http://deb.debian.org/debian stretch-updates Release 404 Not Found Ign:5 http://security.debian.org/debian-security stretch/updates InRelease Err:6 http://security.debian.org/debian-security stretch/updates Release 404 Not Found [IP: 151.101.66.132 80] Reading package lists... Done E: The repository 'http://deb.debian.org/debian stretch Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. E: The repository 'http://deb.debian.org/debian stretch-updates Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. E: The repository 'http://security.debian.org/debian-security stretch/updates Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details.
原因
エラーメッセージから、Dockerコンテナ内でのapt updateが失敗した原因は、Debianの’stretch’リリースのリポジトリが見つからないことである。これは、'stretch’が古いバージョンであり、現在はサポートされていないため、デフォルトのリポジトリから削除された可能性がある。
対策
この問題を解決するための一般的な対策は、以下のコマンドを実行して、リポジトリのURLをarchive.debian.orgに変更することである。これにより、古いバージョンのパッケージを取得できるようになる。
sed -i -e 's/deb.debian.org/archive.debian.org/g' \ -e 's|security.debian.org|archive.debian.org/|g' \ -e '/stretch-updates/d' /etc/apt/sources.list
その他
Let's EncryptのルートCA期限切れ問題
sed -i '/^mozilla\/DST_Root_CA_X3.crt$/ s/^/!/' /etc/ca-certificates.conf && update-ca-certificates
詳細は Let's EncryptのルートCA期限切れで OpenSSL 1.0.2が思わぬ事故を起こす件 | ワルブリックス株式会社 を参照すること