Utoljára aktív 5 months ago

這個 Makefile 專門為 Docker Compose 專案設計,它會自動抓取你當前資料夾的名稱當作專案名,省去手動設定的麻煩。裡面包辦了 Docker Compose 最常用的指令,像是啟動、停止、重新建置、查看日誌、進入容器等,讓你可以「一鍵搞定」專案操作。此外,它還提供了清理服務資料和未使用 Docker 資源的功能,讓你的工作環境保持乾淨,是管理 Docker Compose 專案的好幫手!

timmy gist felülvizsgálása 5 months ago. Revízióhoz ugrás

Nincsenek változtatások

timmy gist felülvizsgálása 5 months ago. Revízióhoz ugrás

1 file changed, 2 insertions

install_make.sh(fájl létrehozva)

@@ -0,0 +1,2 @@
1 + #!/bin/bash
2 + apt install make

timmy gist felülvizsgálása 5 months ago. Revízióhoz ugrás

1 file changed, 54 insertions

Makefile(fájl létrehozva)

@@ -0,0 +1,54 @@
1 + # Makefile: 適用於 docker-compose 專案,自動取用當前資料夾為專案名
2 +
3 + COMPOSE := docker-compose
4 + COMPOSE_FILE := docker-compose.yml
5 + PROJECT_NAME := $(notdir $(CURDIR)) # 依照當前資料夾自動命名
6 +
7 + # 可選自訂 .env 變數(預設 docker-compose 自動載入)
8 + # ENV_FILE := .env
9 +
10 + .PHONY: help up down build restart logs ps exec clean prune
11 +
12 + help:
13 + @echo "🔧 Docker Compose Makefile 指令:"
14 + @echo " make up - 啟動所有服務 (背景執行)"
15 + @echo " make up-fg - 前景執行(方便除錯)"
16 + @echo " make down - 停止並移除服務容器"
17 + @echo " make build - 重新建構服務映像檔"
18 + @echo " make restart - 重啟所有服務"
19 + @echo " make logs - 查看服務日誌"
20 + @echo " make ps - 顯示服務狀態"
21 + @echo " make exec - 進入主要容器 shell"
22 + @echo " make clean - 清理所有服務資料(含 volume)"
23 + @echo " make prune - 清除未使用的資源"
24 +
25 + up:
26 + $(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) up -d
27 +
28 + up-fg:
29 + $(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) up
30 +
31 + down:
32 + $(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) down
33 +
34 + build:
35 + $(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) build
36 +
37 + restart:
38 + $(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) down
39 + $(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) up -d
40 +
41 + logs:
42 + $(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) logs -f --tail=100
43 +
44 + ps:
45 + $(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) ps
46 +
47 + exec:
48 + $(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) exec app sh
49 +
50 + clean:
51 + $(COMPOSE) -p $(PROJECT_NAME) -f $(COMPOSE_FILE) down -v --remove-orphans
52 +
53 + prune:
54 + docker system prune -af --volumes
Újabb Régebbi