どうもこんにちは、カフーブログのタカフです。
前まで普通にdocker-composeでビルド出来ていて、何にもいじってないはずなのに急にビルド出来なくなること、あるあるですよね~。
今回出くわしたのは、このエラーです。
エラー内容
failed to solve: executor failed running [/bin/sh -c apt-get update]: exit code: 127
こちらMySQLのイメージを読み込んでいるDockerfileにて、apt-get: command not found
というapt-getコマンドが見つからないよ、というのを起因してエラーを吐くようになったのでした。
結論から言うと、この原因はOracle社が2010年にMySQLを買収してから、MySQLのデフォルトのパッケージをDebianからOracleに切り替えているために齟齬が起きてうまくいかないことがあるとのことでした。
因みにこれは以下のstackoverflowの情報から翻訳しただけです。
https://stackoverflow.com/questions/72946649/dockerfile-running-from-mysql-cannot-access-apt-get
そしてこのstackoverflowの情報の通り、そのMySQLのイメージに-debian
をつけてあげるとうまくいくようです。
こんなDockerfileになります。
Dockefile
FROM mysql:5.7-debian
RUN apt-get update
# この後にapt-get install等のインストールの記述など
これ、意外とみんな困っているのではないか?と思い、短いけれど記事にしてみました。
現場からは以上です!