【笔记】Docker编译Go项目并运行

前言

Docker编译Go项目并运行

Dockerfile

  • 在项目根目录创建Dockerfile

EXPOSE 8080:如果需要暴露端口,就解除注释
main.gomain:如果主程序不是main,就修改为主程序文件名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
FROM golang:1.20-alpine
ENV GO111MODULE=on \
GOPROXY=https://goproxy.cn,direct \
TZ=Asia/Shanghai \
APP_ENV=docker
RUN apk update && apk upgrade && \
apk add --no-cache bash git openssh
LABEL maintainer="FeiJu"
WORKDIR /app
COPY . .
RUN go mod tidy
RUN go build main.go
#EXPOSE 8080
CMD ["./main"]
  • 将Docker转换成Docker镜像

<image_name>:<version>:镜像名和版本号

1
docker build -t <image_name>:<version> .
  • 将镜像启动为容器

-p 8080:8080:如果需要暴露端口号就映射端口号

1
docker run <image_name>:<version>

完成

参考文献

知乎——旋转的木驴儿