簡介
MinIO 是一個基於Apache License v2.0開源協議的對象存儲服務。它兼容亞馬遜S3雲存儲服務接口,非常適合於存儲大容量非結構化的數據,例如圖片、視頻、日志文件、備份數據和容器/虛擬機鏡像等,而一個對象文件可以是任意大小,從幾kb到最大5T不等。
MinIO是一個非常輕量的服務,可以很簡單的和其他應用的結合,類似 NodeJS, Redis 或者 MySQL。
minio中文文檔
單機編排
version: '3' services: minio: image: minio/minio hostname: "minio" ports: - 9000:9000 # api 端口 - 9001:9001 # 控制台端口 environment: MINIO_ACCESS_KEY: minioadmin #管理后台用戶名 MINIO_SECRET_KEY: minioadmin #管理后台密碼,最小8個字符 volumes: - /docker/minio/data:/data #映射當前目錄下的data目錄至容器內/data目錄 - /docker/minio/config:/root/.minio/ #映射配置目錄 command: server --console-address ':9001' /data #指定容器中的目錄 /data privileged: true restart: always
集群編排
version: '3' # starts 4 docker containers running minio server instances. # using nginx reverse proxy, load balancing, you can access # it through port 9000. services: minio1: image: minio/minio hostname: minio1 volumes: - data1-1:/data1 - data1-2:/data2 expose: - "9000" - "9001" environment: MINIO_ROOT_USER: minio MINIO_ROOT_PASSWORD: minio123 command: server --console-address ":9001" http://minio{1...4}/data{1...2} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 minio2: image: minio/minio hostname: minio2 volumes: - data2-1:/data1 - data2-2:/data2 expose: - "9000" - "9001" environment: MINIO_ROOT_USER: minio MINIO_ROOT_PASSWORD: minio123 command: server --console-address ":9001" http://minio{1...4}/data{1...2} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 minio3: image: minio/minio hostname: minio3 volumes: - data3-1:/data1 - data3-2:/data2 expose: - "9000" - "9001" environment: MINIO_ROOT_USER: minio MINIO_ROOT_PASSWORD: minio123 command: server --console-address ":9001" http://minio{1...4}/data{1...2} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 minio4: image: minio/minio hostname: minio4 volumes: - data4-1:/data1 - data4-2:/data2 expose: - "9000" - "9001" environment: MINIO_ROOT_USER: minio MINIO_ROOT_PASSWORD: minio123 command: server --console-address ":9001" http://minio{1...4}/data{1...2} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 nginx: image: nginx:1.19.2-alpine hostname: nginx volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro ports: - "9000:9000" - "9001:9001" depends_on: - minio1 - minio2 - minio3 - minio4 ## By default this config uses default local driver, ## For custom volumes replace with volume driver configuration. volumes: data1-1: data1-2: data2-1: data2-2: data3-1: data3-2: data4-1: data4-2:
進入控制台
訪問 http://ip:9000 即可進入登錄頁面
賬號密碼為編排文件內指定的 MINIO_ROOT_USER 與 MINIO_ROOT_PASSWORD
點擊 Object Browser 進入桶頁面 點擊 Create Buckets 新建桶
創建一個名為 test 的對象桶
點擊 Create Folder 可以隨意創建路徑目錄
我們在 test/upload/images 目錄下點擊 File 上傳文件按鈕
選擇需要上傳的文件 點擊上傳即可
點擊文件后方 下載 標志按鈕可以下載文件
我們點擊下載 將文件下載到桌面
下載成功 接下來我們將文件進行刪除
點擊 文件后方 刪除 標志按鈕
提示刪除成功 文件消失