MinIO とは
MinIO は、高性能で S3 互換のオブジェクトストレージを提供します。 Kubernetes にネイティブな MinIO は、以下のような環境で利用できる唯一のオブジェクトストレージスイートです。 すべてのパブリッククラウド、すべての Kubernetes ディストリビューション、プライベートクラウド、そして エッジになります。MinIO はソフトウェア定義型であり、GNU AGPL v3 のもと 100%オープンソースで提供されます。
MinIO は AWS の S3 と互換性のあるストレージになる。 Minio と表記されている記事をよく見たけど、公式サイトには MinIO と書いてあった。
Docker で動かす
MinIO を docker-compose で動かす。
ports を9000と9001で分けているが、1 つにまとめようとするとうまくうごかなかったので、このまま分けておいたほうが良さそう。
docker-compose.yml は次のような形。
minio:
image: "minio/minio"
container_name: minio
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: miniominiominio
command: server /export --address :9000 --console-address :9001
volumes:
- ./minio/data:/export
ports:
- "9000:9000"
- "9001:9001"
docker-compose upで起動すると、http://127.0.0.1:9001/loginでアクセスができる。

ユーザ名とパスワードは docker-compose.yml で設定したので、ログインする。
- ユーザ名
- minio
- パスワード
- miniominiominio

Bucket 作成
画面上から Bucket を作成してみる。

Bucket Name に system-a と入力し、Create Bucket をクリックする。

無事に作成できたことが確認できる。

ファイル配置
Upload ボタンをクリックするとファイルをアップロードできる。 これはアップロード後の画面になる。

左のタブの Buckets をクリックすると Bucket の一覧と先ほど作成したsystem-aBuclet が見える。
ファイルを置いたことにより、Usage と Objects にも現在の数値が反映されている。

ディレクトリにもファイルが配置されていることがわかる。

まとめ
ローカルで S3 と同等のことができる MinIO を触ってみた。 ローカル環境で開発するときに S3 を用意する必要もないし、Docker で実行することも確かめられたので CI 環境でも利用できそう!