【Docker】MySQLのDockerfileでapt-get updateのエラーを吐くようになった件

どうもこんにちは、カフーブログのタカフです。

前まで普通に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等のインストールの記述など

これ、意外とみんな困っているのではないか?と思い、短いけれど記事にしてみました。

現場からは以上です!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です