3、docker制作镜像
镜像具有 重复性 和 不可变性

下载并进入 golang 镜像
docker run -it golang:1.17
新建 Dockerfile 配置文件
# 启动编译环境 FROM golang:1.17 # 配置编译环境 RUN go env -w GO111MODULE=on RUN go env -w GOPROXY=https://goproxy.cn,direct # 拷贝源代码到镜像中 COPY ./gateway /go/src # 编译 WORKDIR /go/src/gateway RUN go install ./... # 设置服务入口 ENTRYPOINT [ "/bin/gateway" ]
使用该文件
docker build -t package/name -f ./Dockerfile . // package/name 表示生成后包的名称
测试生成后的东西
docker run package/name
Dockerfile命令
https://www.runoob.com/docker/docker-dockerfile.html
Docker 镜像瘦身
Dockerfile文件设置为
# 启动编译环境 FROM golang:1.17-alpine AS builder # 配置编译环境 RUN go env -w GO111MODULE=on RUN go env -w GOPROXY=https://goproxy.cn,direct # 拷贝源代码到镜像中 COPY . /go/src/coolcar/server # 编译 WORKDIR /go/src/coolcar/server RUN go install ./gateway/... FROM alpine:3.15 COPY --from=builder /go/bin/gateway /bin/gateway ENV ADDR=:8080 # 申明暴露的端口 EXPOSE 8080 # 设置服务入口 ENTRYPOINT [ "/bin/gateway" ]

浙公网安备 33010602011771号