a8cb43926a
* Update Docker quick start guide - Add Compose to orchestration section. - Refer Swarm from Docker quick start guide. - Add common Docker commands to quick start guide. * Paragraph cleanup |
||
---|---|---|
.. | ||
README.md |
Minio Docker Quickstart Guide
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 (/export
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.
docker run -p 9000:9000 minio/minio server /export
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 /export
directories. To do this, run the below commands
GNU/Linux and macOS
docker run -p 9000:9000 --name minio1 \
-v /mnt/export/minio1:/export \
-v /mnt/config/minio1:/root/.minio \
minio/minio server /export
Windows
docker run -p 9000:9000 --name minio1 \
-v D:\export\minio1:/export \
-v D:\export\minio1-config:/root/.minio \
minio/minio server /export
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.
- To deploy Distributed Minio on Docker Compose, refer this guide.
- To deploy Distributed Minio on Docker Swarm, refer this guide.
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
docker run -p 9000:9000 --name minio1 \
-e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
-v /mnt/export/minio1:/export \
-v /mnt/config/minio1:/root/.minio \
minio/minio server /export
Windows
docker run -p 9000:9000 --name minio1 \
-e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
-v D:\export\minio1:/export \
-v D:\export\minio1-config:/root/.minio \
minio/minio server /export
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
docker ps -a
-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.
docker start <container_id>
To stop a running container, you can use the docker stop
command.
docker stop <container_id>
Minio container logs
To access Minio logs, you can use the docker logs
command.
docker logs <container_id>
Monitor Minio Docker Container
To monitor the resources used by Minio container, you can use the docker stats
command.
docker stats <container_id>