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
を使用するというのがポイントです。