MySLQ5.7の公式imageのdocker buildでapt-getのエラーが出る．

# 筆者の動作環境
macOS Monterey（バージョン12.4）,MacBook Pro(M1 2020),メモリ16GB，
# エラー内容
以下のようなdockerfileを用いたimageのbuildが急に今朝（2022年7月6日）から失敗するようになりました．
```
FROM --platform=linux/amd64 mysql:5.7
RUN apt-get update
```
(注)M1以外の方はplatform指定を除いてください．
エラー内容は以下のようなものです．
```
$ docker build -t test .
[+] Building 1.1s (5/5) FINISHED                                                                                                                                                      
 => [internal] load build definition from Dockerfile                                                                                                                             0.0s
 => => transferring dockerfile: 98B                                                                                                                                              0.0s
 => [internal] load .dockerignore                                                                                                                                                0.0s
 => => transferring context: 2B                                                                                                                                                  0.0s
 => [internal] load metadata for docker.io/library/mysql:5.7                                                                                                                     0.8s
 => CACHED [1/2] FROM docker.io/library/mysql:5.7@sha256:4279d155f8cab19149c6078b20d53976f1498e31d6f848ac83e11323909b41f1                                                        0.0s
 => ERROR [2/2] RUN apt-get update                                                                                                                                               0.3s
------
 > [2/2] RUN apt-get update:
#5 0.232 /bin/sh: apt-get: command not found
------
executor failed running [/bin/sh -c apt-get update]: exit code: 127
```
# 原因
mysqlの公式imageでのパッケージダウンロードコマンドが2022年7月6日を境にyumに切り替わったからみたいです？
mysql:5.7は2022年7月6日7時57分時点で[リンク先](https://hub.docker.com/layers/mysql/library/mysql/5.7/images/sha256-aadac0cb6207a1067dbac371f260cd51bf80a561e4cc35f106f514319444e974?context=explore)のものになっています．
IMAGE LAYERSの6つめなどでyumが使用されているのが確認できます．
![スクリーンショット 2022-07-06 11.20.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2231949/e240df22-e87e-f8a0-2385-49821588f19c.png)
~~過去のIMAGE LAYERSの見方が分からないので，過去のものが確認できず．．．~~
（[このレポジトリ](https://github.com/docker-library/mysql)で管理されているようです．）
過去の記事で`FROM mysql:5.7`して`RUN apt-get update`してる例はたくさんあるし，自分もそれをしていたので，昔は`apt-get`に対応してものが`yum`に切り替わったってことのようです．
試しに
```
FROM --platform=linux/amd64 mysql:5.7
RUN yum update
```
で実行してみたところ問題なく動作しました．

# 対処法
とりあえずの対処法としては`apt-get`がデフォルトでパッケージインストールコマンドとして使われているdebianのイメージを明示的に使うようにしましょう．
```
FROM --platform=linux/amd64 mysql:5.7-debian
RUN apt-get update
```
`mysql:5.7`が使いたい場合には`apt-get`を`yum`に書き換える必要がありそうですね．

# 追記　
### 根本原因
mysqlのdocker imageが管理されているレポジトリをみにいくと，tagが変更されてるのが確認できました．
5.7系統の一部，8.0系統の一部がdebianベースのdockerfileからoracleベースのdockerfileに変更されているみたいですね．
コミット履歴は以下のリンクは[こちら](https://github.com/docker-library/official-images/pull/12743/files)

また[こちらのPR](https://github.com/docker-library/mysql/pull/867)の議論を見る感じ，今後はOracleベースでいくみたいです．
なので，yum対応を長期的にはした方がいい感じですかね．（以下本文引用）
> we're not planning to remove the Debian-based variants of 5.7 or 8.0 anytime soon (however, if there's ever an 8.1 or 9.0, that will likely be Oracle-only).

(deepl訳)Debian ベースの 5.7 や 8.0 の亜種をすぐに削除する予定はありません (しかし、もし 8.1 や 9.0 があるならば、それはおそらく Oracle 専用になるでしょう)。


(２０２２年7月6日13時くらいに追記)