MinIO is a high-performance, S3-compatible object storage server that delivers scalable and secure data storage for cloud-native applications. MinIO's distributed architecture provides fault tolerance and high availability while maintaining simplicity and ease of deployment.
This MinIO distribution is provided by the Sourcemation packaging team, built on a secure Debian 13 Slim base image with MinIO server.
Run a temporary container with MinIO:
docker run --rm -it -p 9000:9000 -p 9001:9001 sourcemation/minio:latest server /data --console-address ":9001"
The MinIO API will be available at http://localhost:9000 and the web console at http://localhost:9001.
Default credentials: minioadmin / minioadmin
Run MinIO with persistent storage:
docker run -d --name minio \
-p 9000:9000 -p 9001:9001 \
-v /path/to/your/data:/data \
sourcemation/minio:latest server /data
Run MinIO with custom credentials:
docker run -d --name minio \
-p 9000:9000 -p 9001:9001 \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=secretpassword123 \
-v /path/to/your/data:/data \
sourcemation/minio:latest server /data
Run MinIO with custom API and console addresses:
docker run -d --name minio \
-p 9000:9000 -p 9090:9090 \
-v /path/to/your/data:/data \
sourcemation/minio:latest server /data \
--address :9000 \
--console-address :9090
Run MinIO with specific configuration directory:
docker run -d --name minio \
-p 9000:9000 -p 9001:9001 \
-v /path/to/your/data:/data \
-v /path/to/your/config:/config \
sourcemation/minio:latest server /data \
--config-dir /config
Run distributed MinIO (4 nodes example):
# Node 1
docker run -d --name minio-1 \
-p 9001:9000 -p 9011:9001 \
-v /mnt/data1:/data \
sourcemation/minio:latest server \
http://minio-1:9000/data \
http://minio-2:9000/data \
http://minio-3:9000/data \
http://minio-4:9000/data
# Node 2
docker run -d --name minio-2 \
-p 9002:9000 -p 9012:9001 \
-v /mnt/data2:/data \
sourcemation/minio:latest server \
http://minio-1:9000/data \
http://minio-2:9000/data \
http://minio-3:9000/data \
http://minio-4:9000/data
# Repeat for nodes 3 and 4...
Run MinIO with JSON logs and debug mode:
docker run -d --name minio \
-p 9000:9000 -p 9001:9001 \
-v /path/to/your/data:/data \
-e MINIO_LOGGER_WEBHOOK_ENABLE_target1=on \
-e MINIO_LOGGER_WEBHOOK_ENDPOINT_target1=http://logger:8080/minio/logs \
sourcemation/minio:latest server /data \
--json
Run MinIO with SSL/TLS:
docker run -d --name minio \
-p 9000:9000 -p 9001:9001 \
-v /path/to/your/data:/data \
-v /path/to/certs:/certs \
sourcemation/minio:latest server /data \
--certs-dir /certs
This image uses the following environment variables:
minioadmin)minioadmin)us-east-1)This image exposes the following ports:
Please note that the ports need to be either manually forwarded with the -p option or let Docker choose some for you with the -P option.
The MinIO server supports various command line arguments for configuration. Here are the most commonly used ones:
minio server [FLAGS] [PATHS...]
--address - Bind to a specific network address and port. Specify as ADDRESS:PORT (default: :9000)--console-address - Bind console to a specific network address and port. Specify as ADDRESS:PORT (auto-assigned by default)PATHS... - One or more paths to use as storage backend. For distributed setup, use http://host:port/path format--certs-dir - Path to TLS certificates directory (default: ${HOME}/.minio/certs)--config-dir - Path to configuration directory (default: ${HOME}/.minio)--json - Output server logs and startup information in JSON format--quiet - Disable startup information--ftp - Enable and configure FTP server (format: [username[:password]@]host:port)--sftp - Enable and configure SFTP server (format: [username[:password]@]host:port)--help, -h - Show help--version, -v - Print version informationStart server with custom addresses:
minio server --address :9000 --console-address :9090 /data
Start server with TLS certificates:
minio server --certs-dir /certs /data
Start server with JSON logging:
minio server --json /data
Start distributed server:
minio server http://server{1...4}:9000/data{1...4}
This image runs as the nobody user (non-root) for enhanced security. The data directory /data is accessible by the nobody user.
This image includes the MinIO binary for server operations. For client operations, you can use the official MinIO client mc from another container or install it separately.
Example using MinIO client with this server:
# Add server alias (from another container or host)
mc alias set myminio http://localhost:9000 minioadmin minioadmin
# Create a bucket
mc mb myminio/mybucket
# Upload files
mc cp /path/to/file myminio/mybucket/
# List buckets
mc ls myminio
MinIO provides built-in health check endpoints:
/minio/health/live - Liveness probe/minio/health/ready - Readiness probe/minio/health/cluster - Cluster health (distributed mode)Example health check in Docker:
docker run -d --name minio \
--health-cmd="curl -f http://localhost:9000/minio/health/live || exit 1" \
--health-interval=30s \
--health-timeout=20s \
--health-retries=3 \
-p 9000:9000 -p 9001:9001 \
-v /data:/data \
sourcemation/minio:latest server /data
For production distributed deployments, MinIO requires:
Example distributed deployment:
# Start 4 nodes (run on different hosts)
minio server http://node{1...4}:9000/data{1...4}
For optimal performance:
noatime optionWe'd love for you to contribute! You can request new features, report bugs, or submit a pull request with your contribution to this image on the Sourcemation GitHub repository.
Disclaimer: The sourcemation/minio image is not affiliated with the MinIO project. The respective companies and organisations own the trademarks mentioned in the offering. The sourcemation/minio image is a separate project and is maintained by Sourcemation.
A detailed risk analysis report of the image and its components can be found on the Sourcemation platform.
For more information, check out the MinIO documentation.
The base license for the solution (MinIO) is the GNU AGPLv3. The licenses for each component shipped as part of this image can be found on the image's appropriate Sourcemation entry.
Content type
Image
Digest
sha256:0b6c03281…
Size
97 MB
Last updated
15 days ago
docker pull sourcemation/minio