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.
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.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Programmer DD
A tinkering programmer and author of "Spring Cloud Microservices in Action"
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
