- Minio - One of the best Cloud Storage in Industry. Reviewer Role: Program and Portfolio Management. Company Size: 30B + USD. Industry: Manufacturing Industry. Minio is a simple but powerful and secure object storage product. Unplanned outages are negligible and system availability is.
- Minio Fire & Security - Minio Fire & Security provides complete fire and security alarm system installations for both commercial and residential locations.
Prerequisites
Docker installed on your machine. Download the relevant installer from here.
Run Standalone MinIO on Docker.
MinIO needs a persistent volume to store configuration and application data. However, for testing purposes, you can launch MinIO by simply passing a directory (/data
in the example below). This directory gets created in the container filesystem at the time of container start. But all the data is lost after container exits.
This example program connects to an object storage server, makes a bucket on the server and then uploads a file to the bucket. We will use the MinIO server running at in this example. Feel free to use this service for testing and development. Access credentials shown in this example are open to the public. MinIO uses a key-management-system (KMS) to support SSE-S3. If a client requests SSE-S3, or auto-encryption is enabled, the MinIO server encrypts each object with a unique object key which is protected by a master key managed by the KMS. Given the exceptionally low overhead, auto-encryption can be turned on for every application and instance.
To create a MinIO container with persistent storage, you need to map local persistent directories from the host OS to virtual config ~/.minio
and export /data
directories. To do this, run the below commands
GNU/Linux and macOS
Windows
Run Distributed MinIO on Docker
Distributed MinIO can be deployed via Docker Compose or Swarm mode. The major difference between these two being, Docker Compose creates a single host, multi-container deployment, while Swarm mode creates a multi-host, multi-container deployment.
This means Docker Compose lets you quickly get started with Distributed MinIO on your computer - ideal for development, testing, staging environments. While deploying Distributed MinIO on Swarm offers a more robust, production level deployment.
MinIO Docker Tips
MinIO Custom Access and Secret Keys
To override MinIO's auto-generated keys, you may pass secret and access keys explicitly as environment variables. MinIO server also allows regular strings as access and secret keys.
GNU/Linux and macOS
Windows
Run MinIO Docker as a regular user
Docker provides standardized mechanisms to run docker containers as non-root users.
Minions
GNU/Linux and macOS
On Linux and macOS you can use --user
to run the container as regular user.
NOTE: make sure --user has write permission to ${HOME}/data prior to using --user
.
Minio Client
Windows
On windows you would need to use Docker integrated windows authentication and Create a container with Active Directory Support
NOTE: make sure your AD/Windows user has write permissions to D:data prior to using credentialspec=
.
MinIO Custom Access and Secret Keys using Docker secrets
To override MinIO's auto-generated keys, you may pass secret and access keys explicitly by creating access and secret keys as Docker secrets. MinIO server also allows regular strings as access and secret keys.
Create a MinIO service using docker service
to read from Docker secrets.
Read more about docker service
here
MinIO Custom Access and Secret Key files
To use other secret names follow the instructions above and replace access_key
and secret_key
with your custom names (e.g. my_secret_key
,my_custom_key
). Run your service with
MINIO_ROOT_USER_FILE
and MINIO_ROOT_PASSWORD_FILE
also support custom absolute paths, in case Docker secrets are mounted to custom locations or other tools are used to mount secrets into the container. For example, HashiCorp Vault injects secrets to /vault/secrets
. With the custom names above, set the environment variables to
Retrieving Container ID
To use Docker commands on a specific container, you need to know the Container ID
for that container. To get the Container ID
, run
-a
flag makes sure you get all the containers (Created, Running, Exited). Then identify the Container ID
from the output.
Starting and Stopping Containers
To start a stopped container, you can use the docker start
command.
To stop a running container, you can use the docker stop
command.
MinIO container logs
To access MinIO logs, you can use the docker logs
command.
Minio License
Monitor MinIO Docker Container
To monitor the resources used by MinIO container, you can use the docker stats
command.