golang 项目编译生成 docker 镜像发布部署
Mac 下编译成可执行的二进制文件 main
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o main main.go
Dockerfile 文件参考
FROM golang:1.17.2-alpine
# 设置固定的项目路径
ENV WORKDIR /root/ 项目名 (文件夹名字)
# 添加应用可执行文件,并这是权限
ADD ./main $WORKDIR/main
RUN chmod +x $WORKDIR/main
# 添加静态文件、模版文件、日志目录
ADD assets /root/ 项目名 (文件夹名字)/assets
ADD view /root/ 项目名 (文件夹名字)/view
ADD log / 项目名 (文件夹名字)/log
WORKDIR $WORKDIR
# 声明服务端口
EXPOSE port
# 启动容器时运行的命令
ENTRYPOINT ["./main"]
指令编译生成名为 main 的 docker 镜像
docker build -t demo-main .
运行镜像
docker run --name demo-main -p port:port -ddemo-main
正文完