Update Dockerfile
Browse files- 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 |
-
#
|
18 |
-
RUN
|
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 |
-
#
|
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"]
|