mancai commited on
Commit
25436af
·
verified ·
1 Parent(s): 2125ead

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +10 -14
Dockerfile CHANGED
@@ -1,36 +1,32 @@
1
  # 第一阶段:构建阶段,基于 Go 官方镜像
2
  FROM golang:1.20 AS builder
3
 
4
- # 设置工作目录
5
  WORKDIR /app
6
 
7
-
8
- RUN uname -m
9
-
10
-
11
- # 复制代码到容器中
12
  COPY . .
13
 
14
- # 安装依赖
15
  RUN go mod tidy
16
 
17
- # 使用交叉编译确保生成适合 Linux 平台(amd64)的二进制文件
18
- RUN GOOS=linux GOARCH=amd64 go build -o img2color ./api/img2color.go
19
 
20
  # 第二阶段:运行阶段,基于轻量级镜像
21
  FROM debian:bullseye-slim
22
 
23
- # 设置工作目录
24
  WORKDIR /app
25
 
26
- # 从构建阶段复制生成的二进制文件
27
  COPY --from=builder /app/img2color .
28
 
29
- # 确保二进制文件有执行权限
30
  RUN chmod +x img2color
31
 
32
- # 暴露服务端口(如 8080)
33
  EXPOSE 8080
34
 
35
- # 启动服务
36
  CMD ["./img2color"]
 
1
  # 第一阶段:构建阶段,基于 Go 官方镜像
2
  FROM golang:1.20 AS builder
3
 
4
+ # 设置工作目录为 /app
5
  WORKDIR /app
6
 
7
+ # 复制项目中的所有文件到容器中的 /app 目录
 
 
 
 
8
  COPY . .
9
 
10
+ # 安装 Go 依赖
11
  RUN go mod tidy
12
 
13
+ # 编译 Go 文件,生成二进制文件 img2color
14
+ RUN go build -o img2color ./api/img2color.go
15
 
16
  # 第二阶段:运行阶段,基于轻量级镜像
17
  FROM debian:bullseye-slim
18
 
19
+ # 设置工作目录为 /app
20
  WORKDIR /app
21
 
22
+ # 从构建阶段复制编译好的二进制文件
23
  COPY --from=builder /app/img2color .
24
 
25
+ # 确保二进制文件具有执行权限
26
  RUN chmod +x img2color
27
 
28
+ # 暴露端口(如果你的应用需要)
29
  EXPOSE 8080
30
 
31
+ # 启动容器时执行二进制文件
32
  CMD ["./img2color"]