きり丸の技術日記

技術検証したり、資格等をここに残していきます。

DockerのMinioをアップデートしたら起動しなくなった

DockerのMinioを使用していますが、イメージが古すぎてディレクトリごとアップロードができませんでした。そのため、最新イメージにアップデートしようとしたところ、エラーメッセージが出て起動しなかったその対応を記載します。

※ プロダクション環境でMinioを使用している場合には適用できません。

環境

  • Docker
  • Minio
    • RELEASE.2019-01-31T00-31-19Z
    • RELEASE.2024-02-13T15-35-11Z

ゴール

次のエラーメッセージが出たときに、最新イメージで起動できるようにする。

ERROR Unable to use the drive /data: Drive /data: found backend type fs, expected xl or xl-single - to migrate to a supported backend visit https://min.io/docs/minio/linux/operations/install-deploy-manage/migrate-fs-gateway.html: Invalid arguments specified

対応

Dockerで保持しているminioのvolumeを削除してください。

# ボリューム名を調べる
docker volume ls
# 調べたボリューム名を削除する
# {ディレクトリ名}_{volume名} になっているはず
docker volume rm fastapi-practice_minio_data

該当イメージを使用中の場合は削除できないので、事前に停止してください。

docker compose down
docker volume ls
docker volume rm fastapi-practice_minio_data
docker compose up -d

原因

正確なBreaking Changeのバージョンは追ってません。2022年くらいのminioの改修でファイルシステムがfsからxlに変わったので、古いMinioのvolumeを破棄する必要があります。

ソースコード

なし。

終わりに

Dockerのvolume操作に関しては、docker composeではなく、dockerを使用するというのがポイントです。