32 lines
		
	
	
		
			714 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			714 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
FROM golang:alpine as builder
 | 
						|
# 设置工作目录
 | 
						|
WORKDIR /devttl
 | 
						|
# 将当前目录内容拷到工作目录 (相对路径)
 | 
						|
COPY . .
 | 
						|
 | 
						|
# 配置 golang 环境
 | 
						|
RUN go env -w GO111MODULE=on \
 | 
						|
    && go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct \
 | 
						|
    && go mod tidy \
 | 
						|
    && go build -o main .
 | 
						|
 | 
						|
# 使用更小的基础镜像
 | 
						|
FROM alpine:latest
 | 
						|
 | 
						|
# 设置工作目录
 | 
						|
WORKDIR /devttl
 | 
						|
ENV WORK_PATH /devttl
 | 
						|
 | 
						|
WORKDIR ${WORK_PATH}
 | 
						|
 | 
						|
# 从构建阶段复制二进制文件
 | 
						|
COPY --from=builder ${WORK_PATH}/main .
 | 
						|
 | 
						|
# 暴露端口
 | 
						|
EXPOSE 80
 | 
						|
 | 
						|
# 如果不使用上面的方式需要打开下面这行注释
 | 
						|
# ENTRYPOINT ./main -c config.docker.toml
 | 
						|
 | 
						|
###############################################
 | 
						|
CMD ["./main"] |