最終更新 3 months ago

這個 docker-compose.yml 設定檔是幫你快速啟動一個 MinIO 儲存服務。MinIO 就像是你放在本地端的 S3,方便開發或測試的時候放檔案。它用 minio/minio:latest 映像檔,容器會命名為 app_minio。你可以透過 9000 埠存取 MinIO 的 API,而管理介面則是在 9001 埠。帳號密碼預設是 minioadmin,但你可以透過環境變數 S3_ACCESS_KEY_ID 和 S3_SECRET_ACCESS_KEY 自己改。所有資料都會存在 app_minio_data 這個 Volume 裡,不用怕容器重啟資料就不見了。它會自動重啟,除非你手動停止,並加入到 app_network 網路,方便跟其他服務溝通。

Timmy revised this gist 3 months ago. Go to revision

2 files changed, 41 insertions

.env(file created)

@@ -0,0 +1,5 @@
1 + MINIO_ROOT_USER=myaccesskey
2 + MINIO_ROOT_PASSWORD=mysecretkey
3 + MINIO_DOMAIN=minio.example.com
4 + MINIO_SERVER_URL=https://minio.example.com
5 + MINIO_CONSOLE_URL=https://console.example.com

docker-compose.yml(file created)

@@ -0,0 +1,36 @@
1 + services:
2 + minio:
3 + image: minio/minio:latest
4 + container_name: minio
5 + restart: unless-stopped
6 + ports:
7 + - "9000:9000" # MinIO API
8 + - "9001:9001" # MinIO Console
9 + env_file:
10 + - .env # 從 .env 載入環境變數
11 + environment:
12 + MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin} # 管理員帳號(預設 minioadmin)
13 + MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin} # 管理員密碼(預設 minioadmin)
14 + MINIO_DOMAIN: ${MINIO_DOMAIN:-minio.local} # MinIO API 網域
15 + MINIO_SERVER_URL: ${MINIO_SERVER_URL:-http://minio.local} # 外部 API URL
16 + MINIO_BROWSER_REDIRECT_URL: ${MINIO_CONSOLE_URL:-http://console.minio.local} # Console 重導向 URL
17 + volumes:
18 + - minio_data:/data # 儲存桶資料持久化
19 + command: server /data --console-address ":9001" # 啟動 MinIO 並指定 Console 監聽
20 + networks:
21 + - minio_network
22 +
23 + mc:
24 + image: minio/mc
25 + profiles: ["tools"] # 不會自動啟動,需要時再手動 `docker compose run mc ...`
26 + networks:
27 + - minio_network
28 + volumes:
29 + - mc_config:/root/.mc # 持久化 mc 的設定檔(alias、登入資訊等)
30 +
31 + volumes:
32 + minio_data: # MinIO 資料存放
33 + mc_config: # mc 設定檔存放
34 +
35 + networks:
36 + minio_network: # 共用網路
Newer Older