github.phpd.cn/cilium/cilium@v1.6.12/Dockerfile.builder (about)

     1  #
     2  # Cilium build-time dependencies.
     3  # Image created from this file is used to build Cilium.
     4  #
     5  FROM docker.io/library/ubuntu:18.04
     6  
     7  LABEL maintainer="maintainer@cilium.io"
     8  
     9  WORKDIR /go/src/github.com/cilium/cilium
    10  
    11  #
    12  # Env setup for Go (installed below)
    13  #
    14  ENV GOROOT /usr/local/go
    15  ENV GOPATH /go
    16  ENV PATH "$GOROOT/bin:$GOPATH/bin:$PATH"
    17  ENV GO_VERSION 1.12.17
    18  
    19  #
    20  # Build dependencies
    21  #
    22  RUN apt-get update \
    23      && DEBIAN_FRONTEND=noninteractive apt-get upgrade -y --no-install-recommends \
    24  	&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    25  		apt-utils \
    26  		binutils \
    27  		ca-certificates \
    28  		clang-7 \
    29  		coreutils \
    30  		curl \
    31  		gcc \
    32  		git \
    33  		iproute2 \
    34  		libc6-dev \
    35  		libc6-dev-i386 \
    36  		libelf-dev \
    37  		llvm-7 \
    38  		m4 \
    39  		make \
    40  		pkg-config \
    41  		python \
    42  		rsync \
    43  		unzip \
    44  		wget \
    45  		zip \
    46  		zlib1g-dev \
    47  	&& apt-get clean \
    48  	&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
    49  	&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-7 100 \
    50  	&& update-alternatives --install /usr/bin/llc llc /usr/bin/llc-7 100
    51  
    52  #
    53  # Install Go
    54  #
    55  RUN curl -sfL https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz | tar -xzC /usr/local && \
    56          go get -d -u github.com/gordonklaus/ineffassign && \
    57          cd /go/src/github.com/gordonklaus/ineffassign && \
    58          git checkout -b 1003c8bd00dc2869cb5ca5282e6ce33834fed514 1003c8bd00dc2869cb5ca5282e6ce33834fed514 && \
    59          go install && \
    60          go get -d github.com/cilium/go-bindata/... && \
    61          cd /go/src/github.com/cilium/go-bindata && \
    62          git checkout -b e950ad39c6092155a6d89f04c90b1c46d8c97d49 e950ad39c6092155a6d89f04c90b1c46d8c97d49 && \
    63          go install github.com/cilium/go-bindata/go-bindata