golang 容器的 Dockerfile 代码如下
FROM golang:1.17 //golang 版本 LABEL maintainer="fu" // 容器作者 ENV GOPROXY https://goproxy.cn,direct //配置golang 代理 # 安装必要的软件包和依赖包 USER root //使用root权限运行 RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list && //将镜像源改为国内环境 sed -i 's/security.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list && sed -i 's/security-cdn.debian.org/mirrors.tuna.tsinghua.edu.cn/' /etc/apt/sources.list && apt-get update && //根据源更新软件包 apt-get upgrade -y && apt-get install -y --no-install-recommends curl zip unzip git vim # 安装 goctl USER root RUN GOPROXY=https://goproxy.cn/,direct go install github.com/tal-tech/go-zero/tools/goctl@cli # 安装 protoc USER root RUN curl -L -o /tmp/protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v3.19.1/protoc-3.19.1-linux-x86_64.zip && unzip -d /tmp/protoc /tmp/protoc.zip && mv /tmp/protoc/bin/protoc $GOPATH/bin # 安装 protoc-gen-go USER root RUN go get -u github.com/golang/protobuf/[email protected] # $GOPATH/bin添加到环境变量中 ENV PATH $GOPATH/bin:$PATH # 清理垃圾 USER root RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && rm /var/log/lastlog /var/log/faillog # 设置工作目录 WORKDIR /usr/src/code EXPOSE 8000 EXPOSE 8001 EXPOSE 8002 EXPOSE 8003 EXPOSE 9000 EXPOSE 9001 EXPOSE 9002 EXPOSE 9003
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)