go编译环境镜像文件及案例

 go1.19.3下载 Downloads - The Go Programming Language (google.cn)

 Dockerfile文件 

1.kvrocks_controller编译

FROM centos as builder # centos 默认当前是centos8

# go 环境安装
COPY go1.19.3.linux-amd64.tar.gz /opt/
RUN cd /opt \
    && tar -C /usr/local -xzf go1.19.3.linux-amd64.tar.gz \
    && rm -rf go1.19.3.linux-amd64.tar.gz
ENV PATH $PATH:/usr/local/go/bin
RUN mkdir -p /home/work/go \
    && export GOPATH=/home/work/go \
    && go env -w GO111MODULE=on \
    && go env -w GOPROXY=https://goproxy.cn \
    && go env -w CGO_ENABLED=0\
    && mkdir -p $GOPATH/src

# 解决centos8 yum install 问题
RUN cd /etc/yum.repos.d/ \
    && mkdir backup && mv *repo backup/  \
    && curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo \
    && sed -i -e "s|mirrors.cloud.aliyuncs.com|mirrors.aliyun.com|g " /etc/yum.repos.d/CentOS-* \ 
    && sed -i -e "s|releasever|releasever-stream|g" /etc/yum.repos.d/CentOS-* \
    && echo "export LC_ALL=en_US.utf8"  >>  /etc/profile

RUN yum install -y make git
RUN cd /home/work/go/src/ && git clone https://github.com/KvrocksLabs/kvrocks_controller && cd kvrocks_controller && make

2.tendisplus_exporter编译

FROM centos as builder
COPY go1.15.2.linux-amd64.tar.gz /opt/
RUN cd /opt \
    && tar -C /usr/local -xzf go1.15.2.linux-amd64.tar.gz \
    && rm -rf go1.15.2.linux-amd64.tar.gz
ENV PATH $PATH:/usr/local/go/bin
RUN mkdir -p /home/work/go \
    && export GOPATH=/home/work/go \
    && go env -w GO111MODULE=on \
    && go env -w GOPROXY=https://goproxy.cn \
    && go env -w CGO_ENABLED=0\
    && mkdir -p $GOPATH/src
RUN cd /home/work/go/src/ && git clone https://github.com/zhaochunxue/tendisplus_exporter.git && go build -o tendisplus_exporter
# ENTRYPOINT ["/home/work/go/src/tendisplus_exporter/tendisplus_exporter"]

FROM alpine
COPY --from=builder /home/work/go/src/tendisplus_exporter/tendisplus_exporter /usr/local/bin/
RUN chmod 777 /usr/local/bin/tendisplus_exporter
ENTRYPOINT ["/usr/local/bin/tendisplus_exporter"]

 咱也不是go语言学习者就是有时候会需要编译go的东西,省的来回的搭建go环境就很烦,这样会轻便许多,编译之后的文件可以直接拿出来到别的地方使用或者是在这个镜像基础上像第二个案例一样使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
imx6ul是一款由NXP公司推出的嵌入式处理器,它广泛应用于物联网、工业控制、智能家居等领域。如果你想将imx6ul的驱动模块编译进内核镜像文件,可以按照以下步骤进行操作: 1. 配置内核源码:首先,你需要获取imx6ul的内核源码,并进行相应的配置。可以通过NXP官方网站或者其他渠道获取到对应版本的内核源码。 2. 进入内核配置界面:使用命令`make menuconfig`进入内核配置界面。在这个界面中,你可以选择需要编译进内核的驱动模块。 3. 选择驱动模块:在内核配置界面中,你可以通过导航键选择不同的配置选项。找到你需要编译的驱动模块,并将其选中。 4. 编译内核:完成驱动模块的选择后,保存配置并退出内核配置界面。然后,使用命令`make`开始编译内核。这个过程可能需要一些时间,取决于你的电脑性能和内核源码的大小。 5. 生成内核镜像文件编译完成后,你将得到一个内核镜像文件。这个文件可以通过命令`make zImage`或者`make uImage`生成,具体取决于你的需求。 6. 替换内核镜像文件:将生成的内核镜像文件替换到你的目标设备上。具体的替换方法可以参考你所使用的开发板或者设备的文档。 请注意,以上步骤仅为一般的操作流程,具体的细节可能会因为不同的开发环境和需求而有所差异。在进行操作之前,请确保你已经熟悉相关的开发工具和设备,并备份好重要的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值