What is MinIO?


MinIO is an object storage system, similar to Amazon S3 or Azure Blob storage. It is built on top of Docker containers, which makes it easy to scale.

In a previous article, I showed you how to create and use a MinIO Server.

In this article, I will show how to create and use a MinIO Gateway for Azure Blob Storage.

MinIO Gateway

A MinIO Server stores files and objects. By contrast, a MinIO points to some other storage repository where the files are stored. However, it allows you to interact with those files as if they were stored in MinIO.

Prerequisites

Before you begin, you will need to install Docker Desktop, which you can download for either Windows or Mac.

You will also need an Azure Storage Account. This article explains how to create an Azure Storage Account.

Azure Blob Storage

You will need two pieces of information from your Azure Storage Account: the name of the storage account and the access key.

In the Azure Portal (https://portal.azure.com), you can find the storage account name at the top of the Resource page, as shown in Fig. 1.

mga01-StorageAccountName
Fig. 1

You can find the key on the "Access Keys" blade, as shown in Fig. 2.

mga02-StorageAccountKeys
Fig. 2

Note that there are two keys. Either one will work. Click the [Show Keys] button to view the keys and allow copying to your clipboard.

Creating a MinIO Gateway

A MinIO Gateway for Azure is created with the following command:

docker run -p 9000:9000 --name azure-s3 -e "MINIO_ACCESS_KEY=azurestorageaccountname" -e "MINIO_SECRET_KEY=azurestorageaccountkey" minio/minio gateway azure

where

azurestorageaccountname is the name of the Azure storage account and azurestorageaccountkey is an account key from that same storage account.

You can now log into the MinIO Gateway by opening a browser and navigating to http://127.0.0.1:9000/.

When prompted for your login credentials (Fig. 3), enter the storage account name in the "Access key" field and enter the storage account key in the "Secret Key" field.

mga03-Login
Fig. 3

After a successful login, the MinIO Gateway user interface will display, as shown in Fig. 4.

mga04-MinIO

Fig. 4

Note that this looks exactly like the MinIO Server user interface, described in this article.

In fact, you can create buckets and manage files in a MinIO Gateway exactly as you would in a MinIO server. The only difference is that the objects you manipulate are stored in the corresponding Azure Blob storage, rather than in MinIO. Each bucket is mapped to a Blob Storage container and each file is mapped to a blob.

Conclusion

In this article, you learned how to create a MinIO Gateway for Azure.