File size: 1,274 Bytes
cc74372
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# 定义变量
IMAGE_NAME=guojingneo/rag-app
DOCKERFILE_PATH=Dockerfile
CONTAINER_NAME=rag-app-container
PORT=7860

# 获取 Git 提交 ID
COMMIT_ID := $(shell git rev-parse --short HEAD)

# 默认目标
.PHONY: all
all: build

# 构建 Docker 镜像
.PHONY: build
build:
	docker build -t $(IMAGE_NAME):$(COMMIT_ID) -f $(DOCKERFILE_PATH) .

# 运行 Docker 容器
.PHONY: run
run:
	docker run -d --name $(CONTAINER_NAME) -p $(PORT):$(PORT) $(IMAGE_NAME):$(COMMIT_ID)

# 停止并删除容器
.PHONY: stop
stop:
	docker stop $(CONTAINER_NAME) || true
	docker rm $(CONTAINER_NAME) || true

# 推送 Docker 镜像到注册表
.PHONY: push
push:
	docker push $(IMAGE_NAME):$(COMMIT_ID)

# 清理未使用的 Docker 镜像和容器
.PHONY: clean
clean:
	docker system prune -f

# 打包镜像并推送
.PHONY: package
package: build push

# 显示帮助信息
.PHONY: help
help:
	@echo "使用方法:"
	@echo "  make build      构建 Docker 镜像"
	@echo "  make run        运行 Docker 容器"
	@echo "  make stop       停止并删除容器"
	@echo "  make push       推送 Docker 镜像到注册表"
	@echo "  make clean      清理未使用的 Docker 镜像和容器"
	@echo "  make package    构建并推送 Docker 镜像"
	@echo "  make help       显示帮助信息"