Running MinIO using Docker Desktop in 5 Minutes
Published: 2022-10-30 18:13:47

[MinIO](https://min.io/) is an open-source distributed object storage server written in Go, designed for Private Cloud infrastructure providing S3 storage functionality. It is a high-performance object storage solution that provides an Amazon Web Services S3-compatible API and supports all core S3 features.

MinIO is built to deploy anywhere - public or private cloud, bare-metal infrastructure, orchestrated environments, and edge infrastructure.

## Running MinIO using Docker container

MinIO can be setup using a single-liner command:


```
docker run -p 9000:9000 -p 9001:9001 minio/minio server /data --console-address ":9001"
```

You can view MinIO under Docker Desktop dashboard:


![Image21](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j6fqwn4zxnmaz7mny3st.png)




## Accessing MinIO Dashboard

You can access MinIO dashboard by clicking on `9000:9000` port displayed under Docker Desktop Dashboard directly


![Image2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h8s0vuybfkdvwcq6s2tp.png)


## Installing MinIO Client

The MinIO Client `mc` command line tool provides a modern alternative to UNIX commands like ls, cat, cp, mirror, and diff with support for both filesystems and Amazon S3-compatible cloud storage services. The mc commandline tool is built for compatibility with the AWS S3 API and is tested MinIO and AWS S3 for expected functionality and behavior.

```
curl -O https://dl.min.io/client/mc/release/darwin-arm64/mc
chmod +x mc
sudo mv mc /usr/local/bin/mc
```

```
mc alias set local http://127.0.0.1:9000 minioadmin minioadmin 
```

### Results:
      
```
mc: Configuration written to `/Users/ajeetraina/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/Users/ajeetraina/.mc/share`.
mc: Initialized share uploads `/Users/ajeetraina/.mc/share/uploads.json` file.
mc: Initialized share downloads `/Users/ajeetraina/.mc/share/downloads.json` file.
Added `local` successfully.
```

```
mc admin info local
●  127.0.0.1:9000
   Uptime: 7 minutes 
   Version: 2022-10-29T06:21:33Z
   Network: 1/1 OK 
   Drives: 1/1 OK 
   Pool: 1

Pools:
   1st, Erasure sets: 1, Drives per erasure set: 1

1 drive online, 0 drives offline
```

Let's create a new bucket by name test-bucket and upload some random data.

## Creating a New Bucket


![Image3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/59tn4h2169amo5vhb75b.png)


![Image4](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yt4tq35omsylal1nqkzg.png)

## Uploading data to MinIO


![Image5](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vcyyn03p77pcbnwyrk9k.png)
 


```
mc admin info local
●  127.0.0.1:9000
   Uptime: 40 minutes 
   Version: 2022-10-29T06:21:33Z
   Network: 1/1 OK 
   Drives: 1/1 OK 
   Pool: 1

Pools:
   1st, Erasure sets: 1, Drives per erasure set: 1

28 B Used, 1 Bucket, 1 Object
1 drive online, 0 drives offline
````

## Further Readings:

- [MinIO Playground](https://play.min.io:9443/)
- [MinIO Python Quickstart Guide](https://min.io/docs/minio/linux/developers/python/minio-py.html)
- [MinIO JavaScript Quick Start Guide](https://min.io/docs/minio/linux/developers/javascript/minio-javascript.html)

## Getting Help

Have a question about Minio on Docker? Search the Docker Forum Minio tag for answers, or post a question in our [Docker Community Forum](https://forums.docker.com).