首先为什么会想着用docker来进行交叉编译呢?
- 因为Mac的darwin 系统在进行向mipsle平台编译时,很难找到合适的交叉编译链
- Linux 平台下比较容易向mipsle平台编译,也有很多博客可以参考
创建Dockerfile文件
FROM ubuntu:18.04
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y wget
RUN apt-get install -y tar
RUN apt-get install -y vim
RUN wget https://golang.google.cn/dl/go1.18.5.linux-amd64.tar.gz
RUN tar xfz go1.18.5.linux-amd64.tar.gz -C /usr/local
ENV GO111MODULE=on \
CGO_ENABLED=1 \
GOOS=linux \
GOARCH=mipsle \
CC=/opt/bin/mipsel-linux-uclibc-gcc \
CXX=/opt/bin/mipsel-linux-uclibc-g++ \
GOROOT=/usr/local/go \
GOPATH=$HOME/gowork \
GOBIN=$GOPATH/bin \
PATH=/opt/bin \
PATH=/bin:/usr/bin:$PATH \
PATH=$GOPATH:$GOBIN:$GOROOT/bin:$PATH
WORKDIR /encryptionGateway
COPY go.mod .
COPY go.sum .
COPY mipsel-linux-uclibc.tar.xz .
RUN tar xvf mipsel-linux-uclibc.tar.xz -C /opt
RUN /usr/local/go/bin/go mod download
COPY . .
RUN