MinIOは、Amazon S3クラウドストレージサービス(以下、S3)と互換性のあるストレージサーバーです。
ローカルで開発を行う際にローカルからS3に接続できない・・といった場合など、仮想S3サービスとして利用できます。
ここでは、DockerでMinIOを使用する場合の設定についてまとめます。
docker-compose.ymlは下記のような設定です。
MINIO_ACCESS_KEYとMINIO_SECRET_KEYは後で、ログインする際に使用します。
version: '3' services: minio: image: minio/minio:latest ports: - 9000:9000 volumes: - minio:/data command: server /data environment: MINIO_ACCESS_KEY: minio_access_key MINIO_SECRET_KEY: minio_secret_key volumes: minio: driver: local
docker-compose.ymlの記載が終わったら、さっそくコンテナを起動してみましょう。
起動できたら、下記のURLにアクセスします。
Access KeyとSecret Keyを入力する箇所があるので、先ほどdocker-compose.ymlに記載したものを使用します。
ここでは、minio_access_keyとminio_secret_keyになります。
ログインが成功すると、以下の画面になります。
S3と同様にバケットを作成して、ファイルや画像をアップロードする場所を作成します。
作成は、画面右下の「+」ボタンより行います。
押下すると「Upload file」、「Create bucket」の2つのボタンが表示されるので、「Create bucket」を押下します。
バケット名を入力し、Enterを押下するとバケットが作成されます。
バケットを作成したら、policyを設定します。
※設定しないと、アプリケーションからファイルの読み書きができません。
設定は、作成したbucket名にマウスをのせると「:」が表示されるのでそれを押下します。
下記のように読み書きのpolicyを設定します。※Prefixは入力しなくても大丈夫です。
上記の設定ができていれば、アプリケーションからでもファイルのアップロードができます。
こちらで実際にMinIOを使用して画像をアップロードする機能を作成しましたのでよろしければ参照してください。
参考