• 當前位置:首頁 > IT技術 > 其他 > 正文

    Docker-compose 安裝Minio 最新版本
    2022-09-06 22:54:12


    文章目錄

    一、環境準備
    1.安裝docker-compose


    2. 新版本嘗鮮

    minio在升級之后,部署文件有了改動。之前web頁面和api上傳都是9000端口,新版本將兩者分開了。
    MINIO_ACCESS_KEY改成了MINIO_ROOT_USER,MINIO_SECRET_KEY改成了MINIO_ROOT_PASSWORD。

    3. 鏡像下載
    docker-compose pull
    二、單機編排
    2.1. 創建docker-compose.yaml
    version: '3.7'

    # Settings and configurations that are common for all containers
    x-minio-common: &minio-common
    image: quay.io/minio/minio:RELEASE.2021-09-18T18-09-59Z
    command: server --console-address ":9001" http://minio{1...4}/data{1...2}
    expose:
    - "9000"
    - "9001"
    environment:
    MINIO_ROOT_USER: minio
    MINIO_ROOT_PASSWORD: minio123
    healthcheck:
    test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
    interval: 30s
    timeout: 20s
    retries: 3

    # starts 4 docker containers running minio server instances.
    # using nginx reverse proxy, load balancing, you can access
    # it through port 9000.
    services:
    minio1:
    <<: *minio-common
    hostname: minio1
    volumes:
    - data1-1:/data1
    - data1-2:/data2

    ## By default this config uses default local driver,
    ## For custom volumes replace with volume driver configuration.
    2.2. 運行
    docker-compose up

    Docker-compose 安裝Minio 最新版本_運維

    三、集群編排
    3.1. 下載docker-compose.yaml

    ??https://github.com/minio/minio/blob/master/docs/orchestration/docker-compose/docker-compose.yaml?raw=true??

    version: '3.7'

    # Settings and configurations that are common for all containers
    x-minio-common: &minio-common
    image: quay.io/minio/minio:RELEASE.2021-09-18T18-09-59Z
    command: server --console-address ":9001" http://minio{1...4}/data{1...2}
    expose:
    - "9000"
    - "9001"
    environment:
    MINIO_ROOT_USER: minio
    MINIO_ROOT_PASSWORD: minio123
    healthcheck:
    test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
    interval: 30s
    timeout: 20s
    retries: 3

    # starts 4 docker containers running minio server instances.
    # using nginx reverse proxy, load balancing, you can access
    # it through port 9000.
    services:
    minio1:
    <<: *minio-common
    hostname: minio1
    volumes:
    - data1-1:/data1
    - data1-2:/data2

    minio2:
    <<: *minio-common
    hostname: minio2
    volumes:
    - data2-1:/data1
    - data2-2:/data2

    minio3:
    <<: *minio-common
    hostname: minio3
    volumes:
    - data3-1:/data1
    - data3-2:/data2

    minio4:
    <<: *minio-common
    hostname: minio4
    volumes:
    - data4-1:/data1
    - data4-2:/data2

    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.
    3.2. nginx.conf

    ??https://github.com/minio/minio/blob/master/docs/orchestration/docker-compose/nginx.conf?raw=true??

    user  nginx;
    worker_processes auto;

    error_log /var/log/nginx/error.log warn;
    pid /var/run/nginx.pid;

    events {
    worker_connections 4096;
    }

    http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;
    sendfile on;
    keepalive_timeout 65;

    # include /etc/nginx/conf.d/*.conf;

    upstream minio {
    server minio1:9000;
    server minio2:9000;
    server minio3:9000;
    server minio4:9000;
    }

    upstream console {
    ip_hash;
    server minio1:9001;
    server minio2:9001;
    server minio3:9001;
    server minio4:9001;
    }

    server {
    listen 9000;
    listen [::]:9000;
    server_name localhost;

    # To allow special characters in headers
    ignore_invalid_headers off;
    # Allow any size file to be uploaded.
    # Set to a value such as 1000m; to restrict file size to a specific value
    client_max_body_size 0;
    # To disable buffering
    proxy_buffering off;

    location / {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_connect_timeout 300;
    # Default is HTTP/1, keepalive is only enabled in HTTP/1.1
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    chunked_transfer_encoding off;

    proxy_pass http://minio;
    }
    }

    server {
    listen 9001;
    listen [::]:9001;
    server_name localhost;

    # To allow special characters in headers
    ignore_invalid_headers off;
    # Allow any size file to be uploaded.
    # Set to a value such as 1000m; to restrict file size to a specific value
    client_max_body_size 0;
    # To disable buffering
    proxy_buffering off;

    location / {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-NginX-Proxy true;

    # This is necessary to pass the correct IP to be hashed
    real_ip_header X-Real-IP;

    proxy_connect_timeout 300;

    # To support websocket
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    chunked_transfer_encoding off;

    proxy_pass http://console;
    }
    }
    }
    3.3.運行
    docker-compose up


    本文摘自 :https://blog.51cto.com/g

    開通會員,享受整站包年服務
    国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码