Log目次

【Docker】MinIOを使用してローカル環境で仮想S3環境の構築

作成日 2019-08-22更新日 2019-08-22

はじめに

MinIOは、Amazon S3クラウドストレージサービス(以下、S3)と互換性のあるストレージサーバーです。

ローカルで開発を行う際にローカルからS3に接続できない・・といった場合など、仮想S3サービスとして利用できます。

ここでは、DockerでMinIOを使用する場合の設定についてまとめます。

docker-compose.ymlの設定

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

MinIOサービスへのアクセス

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の設定

バケットを作成したら、policyを設定します。

※設定しないと、アプリケーションからファイルの読み書きができません。

設定は、作成したbucket名にマウスをのせると「:」が表示されるのでそれを押下します。

下記のように読み書きのpolicyを設定します。※Prefixは入力しなくても大丈夫です。

まとめ

上記の設定ができていれば、アプリケーションからでもファイルのアップロードができます。

こちらで実際にMinIOを使用して画像をアップロードする機能を作成しましたのでよろしければ参照してください。

参考