Ubuntu 20.04.2 LTSでmysqlコンテナを起動するとPermission deniedで怒られた

概要

Ubuntu 20.04.2 LTSでmysqlコンテナを起動しようとと以下のようなエラーが出てコンテナ起動に失敗する。

dockerfile

問題が発生したdockerfile。

docker-compose.yml(一部抜粋)

Dockerfile

マウント元を確認してみる

systemd-coredumpという見慣れないユーザーが。

systemd-coredump

ホストでユーザーを確認すると、systemd-coredumpはuid 999。

mysqlのコンテナ内のユーザーがuid 999を持っているのがおそらく原因?

対応

docker-compose.ymlにuser: 1000:1000を追加。

docker-compose.yml(一部抜粋)

ハードコードしないでホストからuidとgidを渡すようにしたほうが良い気はする。

所感

docker for macではこの問題は発生していなかったので、気づくことができてよかった。

参考