Amazon S3と連携するプログラムを書くため、Amazon S3互換のオブジェクトストレージサーバを探していたところ、Dockerイメージが公式で提供されていて手軽に立てられそうなMinIOというサーバがあったので、試し
MinIOとは
MinIOはAmazon S3互換のオブジェクトストレージで100%OSSなオブジェクトストレージです。起動も簡単でWindows環境ではminio.exe
を起動するだけでも動かすことができるほどシンプルなサーバです。今回はDockerイメージが公式でも公開されているので、Dockerで起動して触ってみたいと思います。
インストール
MinIOの公式にも記載されている通り、docker runを実行するだけで起動することができます。
docker run -p 9000:9000 -e MINIO_ACCESS_KEY=minioadmin \ -e MINIO_SECRET_KEY=minioadmin \ -v /mnt/data:/data minio/minio server /data
実行すると下記の通り表示されます。
Browser Access: http://172.17.0.2:9000 http://127.0.0.1:9000 Object API (Amazon S3 compatible): Go: https://docs.min.io/docs/golang-client-quickstart-guide Java: https://docs.min.io/docs/java-client-quickstart-guide Python: https://docs.min.io/docs/python-client-quickstart-guide JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide .NET: https://docs.min.io/docs/dotnet-client-quickstart-guide Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately using 'MINIO_ACCESS_KEY' and 'MINIO_SECRET_KEY'
触ってみる
実際に触ってみたいと思います。上記Browser Accessに記載http://127.0.0.1:9000
と記載されていましたが、localhost:9000でアクセスしてみます。
アクセスするとログイン画面が表示されます。ここではdocker runコマンドを実行したときに引数で指定したMINIO_ACCESS_KEY
とMINIO_SECREAT_KEY
の値を入力します。デフォルト値はminioadmin
です。
ログインできました。まずはファイルを格納するためのバケットを作成してみます。先にバケットを作成しないとバケットを選択してくださいというエラーが出力されます。右下のプラスアイコンをクリックします。
create bucketを選択してください。選択後、任意のバケット名入力してEnterを押します。
これでバケットが作成されました。次に作成したバケットにファイルをアップロードしてみたいと思います。本ブログのために取ってるスクリーンショットをアップロードしてみます。先ほどと同様に右下のプラスアイコンをクリックします。
次にUpload fileを選択します。選択するとシステムダイアログでファイル選択画面が表示されるので、アップロードしたいファイルを選択しましょう。
これだけで簡単にアップロードできました。シンプルなのでサクッと触れますね。次回はこのAmazon S3互換のオブジェクトストレージをPythonで触ってみたいと思います。