使用docker 搭建golang环境

使用docker 搭建golang环境,第1张

使用docker 搭建golang环境

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5704597.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存