Cloud Native 8 min read

How to Deploy MinIO: A High‑Performance Open‑Source Object Storage Solution

This article explains what object storage services are, introduces MinIO as a compatible, high‑performance open‑source alternative to AWS S3, and provides step‑by‑step guidance for single‑node and distributed deployments using Docker on various operating systems.

Programmer DD
Programmer DD
Programmer DD
How to Deploy MinIO: A High‑Performance Open‑Source Object Storage Solution

Object storage services provide scalable storage for data, files, images, and videos, similar to a corporate‑grade network drive. With the explosion of unstructured data such as images, audio, and video, many cloud providers now offer their own object storage solutions, including AWS S3, Alibaba Cloud OSS, Huawei OBS, Tencent COS, Baidu BOS, and NetEase NOS.

MinIO is an open‑source, high‑performance object storage server written in Go, licensed under Apache 2.0, and fully compatible with the AWS S3 API. It can be used as a standalone service or integrated with other components.

MinIO supports both single‑node and distributed deployments. The distributed mode adds features such as versioning, object locking, and erasure coding.

export MINIO_ROOT_USER=<ACCESS_KEY>
export MINIO_ROOT_PASSWORD=<SECRET_KEY>
minio server http://host{1...n}/export{1...m}

Installation can be done by building from source or by pulling the official Docker image.

Docker deployment (single‑node, macOS/Linux):

docker run \
  -p 9000:9000 \
  -p 9001:9001 \
  --name minio1 \
  -v /mnt/data:/data \
  -e "MINIO_ROOT_USER=minioadmin" \
  -e "MINIO_ROOT_PASSWORD=minioadmin" \
  quay.io/minio/minio server /data --console-address ":9001"

Docker deployment (single‑node, Windows):

docker run \
  -p 9000:9000 \
  -p 9001:9001 \
  --name minio1 \
  -v D:\data:/data \
  -e "MINIO_ROOT_USER=minioadmin" \
  -e "MINIO_ROOT_PASSWORD=minioadmin" \
  quay.io/minio/minio server /data --console-address ":9001"

Distributed deployment (macOS/Linux):

docker run \
  -p 9000:9000 \
  -p 9001:9001 \
  --name minio1 \
  -e "MINIO_ROOT_USER=minioadmin" \
  -e "MINIO_ROOT_PASSWORD=minioadmin" \
  -v /mnt/data:/data \
  quay.io/minio/minio server /data --console-address ":9001"

After starting the server, the MinIO Console is accessible with the default credentials minioadmin:minioadmin. The console allows you to create buckets, upload objects, and browse stored data.

MinIO also provides the mc command‑line tool, which offers Unix‑like commands for managing buckets and objects:

alias – manage, delete, and list aliases in the config file

ls – list buckets and objects

mb – make a bucket

rb – remove a bucket

cp – copy objects

mirror – sync objects to a remote site

cat – display object contents

head – show the first N lines of an object

pipe – pipe STDIN to an object

share – generate a temporary URL for object access

find – search for objects

sql – run SQL queries on objects

stat – display object metadata

mv – move objects

tree – list buckets and objects in a tree format

du – summarize disk usage recursively

retention – set object retention periods

legalhold – set legal hold on objects

diff – show differences between two buckets

rm – remove objects

encrypt – manage bucket encryption configuration

event – manage object notifications

watch – listen for notification events

undo – undo put/delete operations

policy – manage anonymous access to buckets/objects

tag – manage tags on buckets and objects

ilm – manage bucket lifecycle

version – manage bucket versioning

replicate – configure server‑side bucket replication

admin – manage the MinIO server

update – update the mc client to the latest version

These features make MinIO a versatile choice for developers and teams looking to experiment with or adopt object storage in their applications.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Cloud NativeDockerDeploymentopen sourceMinioobject storage
Programmer DD
Written by

Programmer DD

A tinkering programmer and author of "Spring Cloud Microservices in Action"

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.