首页 专题 文章 代码 归档

【记录】使用Dockerfile配置的Go项目运行在Docker

1. 前言

现在都是容器化的部署运营了,要紧跟时代潮流才不会被淘汰....

在某些方面来说,Docker确实更方便(如果你能熟练使用Docker的话....)

FROM golang
MAINTAINER 无道
ENV GO111MODULE=on \
    CGO_ENABLED=0 \
    GOOS=linux \
    GOARCH=arm64 \
    GOPROXY=https://goproxy.cn

RUN mkdir -p /go/src/search
WORKDIR /go/src/search
COPY . .

#RUN go mod download
RUN go build -o main
RUN chmod +x main
ENV PORT 4050
EXPOSE ${PORT}

CMD ["./main"]

有几个问题需要注意(小坑):

1、导出几个环境变量GO111MODULEGOARCHGOPROXY

才能正常使用,目前我这里是arm64位机器,所以GOARCH是arm64

2、记得给编译后的文件加执行权限... chmod +x main


其它可能的问题:

一般项目中,我们都会对于开发环境和正式环境有不同的配置文件,如何在Dockerfile构建时,使用正式环境的 配置

假设配置文件存在于config目录,旗下有application.yml代码中读取的配置文件名,以及relase.yml正式配置文件名

目前想到的是执行命令,将relase.yml的内容覆盖写到application.yml

此文阅读完毕,您可以:分享
二维码图片 扫描关注我们哟