创作不易感谢支持。
一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。 个人博客:太阳上的雨天 地址:http://blog.caixiaoxin.cn 善于分享,希望有助他人. 非常感谢各位大佬的关注和支持
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