Amazone S3 が使いにくくって、いろいろやるにはお金が。。。
テストで使えるOSSとかがあればローカルでテストできるのに。

とおもってクローンないかなって調べてみたら
こんなの見つけました。

https://www.minio.io/

AWS S3 クローンで、APIレベルで互換性があるらしい。
しかもDockerイメージがすでに準備されてました。素晴らしい。

早速動かしてみました。

root@docker-01:~# docker run -dP minio/minio server /home/shared
21892192e854d21573537a415c6f507ece509cb0f8dd5b53f19478a681c5a75e
root@docker-01:~# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
21892192e854        minio/minio         "minio server /home/s"   2 seconds ago       Up 1 seconds        0.0.0.0:32768->9000/tcp   prickly_turing
root@docker-01:~# 


うごきました!
早速アクセスしようと思うのですが
アクセスキーとシークレットキーはログに出てくるようなので先に調べておきます。

  --quiet                Disable startup information.
  
ENVIRONMENT VARIABLES:
  ACCESS:
     MINIO_ACCESS_KEY: Custom username or access key of 5 to 20 characters in length.
     MINIO_SECRET_KEY: Custom password or secret key of 8 to 40 characters in length.

  BROWSER:
     MINIO_BROWSER: To disable web browser access, set this value to "off".

EXAMPLES:
  1. Start minio server on "/home/shared" directory.
      $ minio server /home/shared

  2. Start minio server bound to a specific IP:PORT.
      $ minio server --address 192.168.1.101:9000 /home/shared

  3. Start erasure coded minio server on a 12 disks server.
      $ minio server /mnt/export1/ /mnt/export2/ /mnt/export3/ /mnt/export4/ \
          /mnt/export5/ /mnt/export6/ /mnt/export7/ /mnt/export8/ /mnt/export9/ \
          /mnt/export10/ /mnt/export11/ /mnt/export12/

  4. Start erasure coded distributed minio server on a 4 node setup with 1 drive each. Run following commands on all the 4 nodes.
      $ export MINIO_ACCESS_KEY=minio
      $ export MINIO_SECRET_KEY=miniostorage
      $ minio server http://192.168.1.11/mnt/export/ http://192.168.1.12/mnt/export/ \
          http://192.168.1.13/mnt/export/ http://192.168.1.14/mnt/export/

root@docker-01:~# docker run -dP minio/minio server /home/shared
21892192e854d21573537a415c6f507ece509cb0f8dd5b53f19478a681c5a75e
root@docker-01:~# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
21892192e854        minio/minio         "minio server /home/s"   2 seconds ago       Up 1 seconds        0.0.0.0:32768->9000/tcp   prickly_turing
root@docker-01:~# docker logs -f prickly_turbing
Error: No such container: prickly_turbing
root@docker-01:~# docker logs -f prickly_turning
Error: No such container: prickly_turning
root@docker-01:~# docker logs -f prickly_turing
Created minio configuration file at /root/.minio

Endpoint:  http://172.17.0.2:9000  http://127.0.0.1:9000
AccessKey: ECZKZ4LY30LCD8VIBBDP 
SecretKey: *****************************
Region:    us-east-1
SQS ARNs:  <none>

Browser Access:
   http://172.17.0.2:9000  http://127.0.0.1:9000

Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
   $ mc config host add myminio http://172.17.0.2:9000 ECZKZ4LY30LCD8VIBBDP YplBUqNipYaG/aTRhmWBf3oo5cdGQKeLNwaEonUt

Object API (Amazon S3 compatible):
   Go:         https://docs.minio.io/docs/golang-client-quickstart-guide
   Java:       https://docs.minio.io/docs/java-client-quickstart-guide
   Python:     https://docs.minio.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide

Drive Capacity: 12 GiB Free, 18 GiB Total

この部分をメモ。

Endpoint: http://172.17.0.2:9000 http://127.0.0.1:9000
AccessKey: ECZKZ4LY30LCD8VIBBDP
SecretKey: *****************************
Region: us-east-1
SQS ARNs:



さて、WebUIにアクセスしてみましょう

さっきメモしたアクセスキーとシークレット気を入力します

バケット一覧が出ました!

右下の+ボタンからバケット作成、ファイルアップロードが可能なようです。
すごいなぁ。。。