任务
window平台写一个http服务,用docker打包镜像并运行。 使用了gin库。
样例代码
func main() {
r := gin.Default()
r.GET("/hello", func(c *gin.Context) {
c.String(http.StatusOK, "hello world")
})
r.Run(":8080")
}
编写Dockerfile
FROM golang:1.18-alpine as builder
ADD . /app
WORKDIR /app
RUN go env -w GO111MODULE=on
RUN go env -w GOPROXY=https://goproxy.io,direct
RUN go mod download
RUN go build -o app .
EXPOSE 8080
FROM alpine
RUN mkdir /app
COPY --from=builder /app/app /app
WORKDIR /app
CMD ["./app"]
编写Makefile脚本
image:
docker build --tag gin:1.0.0 .
docker run -d --name gin_server -p 8080:8080 gin:1.0.0
rm:
docker stop gin_server
docker rm gin_server
docker rmi gin:1.0.0