banner
RustyNail

RustyNail

coder. 【blog】https://rustynail.me 【nostr】wss://ts.relays.world/ wss://relays.world/nostr

DockerでMinioのマスターとスレーブインスタンスをデプロイする

博客の改造により、アルバムモジュールが追加され、相対的に安全なファイルストレージが必要です。

minio を選んだ理由

  1. fastDFSよりも使いやすいから
  2. Golang との互換性が非常に良いから

構造#

  • シングルノードマルチディスク
  • 1 つのマスターと 1 つのスレーブ、異なるディスク

直接 docker-compose

version: '3.7'

# 2つのminioサーバーインスタンスを実行する2つのDockerコンテナを起動します。
# nginxのリバースプロキシ、ロードバランシングを使用して、
# ポート9000を介してアクセスできます。
services:
  minio1:
    container_name: minio1
    image: minio/minio:RELEASE.2021-06-07T21-40-51Z
    hostname: minio1
    volumes:
      - /硬盘1/data1:/data1
      - /硬盘1/data2:/data2
    ports:
      - "29001:9000"
    restart: always
    environment:
      MINIO_ROOT_USER: 账号
      MINIO_ROOT_PASSWORD: 密码
      MINIO_PROMETHEUS_AUTH_TYPE: public
    command: server http://minio{1...2}/data{1...2}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

  minio2:
    container_name: minio2
    image: minio/minio:RELEASE.2021-06-07T21-40-51Z
    hostname: minio2
    volumes:
      - /硬盘2/data1:/data1
      - /硬盘2/data2:/data2
    ports:
      - "29002:9000"
    restart: always
    environment:
      MINIO_ROOT_USER: 账号
      MINIO_ROOT_PASSWORD: 密码
      MINIO_PROMETHEUS_AUTH_TYPE: public
    command: server http://minio{1...2}/data{1...2}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

そして起動します

sudo docker-compose up --no-start
sudo docker-compose start

nginx#

nginx は 2 つの upstream に proxy_pass を直接設定します。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。