Dockerfile.amazonlinux 1.5 KB
Newer Older
1 2
ARG BASEIMAGE
FROM ${BASEIMAGE}
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

RUN yum install -y \
        ca-certificates \
        wget \
        git \
        rpm-build \
        make && \
    rm -rf /var/cache/yum/*

ARG GOLANG_VERSION=0.0.0
RUN set -eux; \
    \
    arch="$(uname -m)"; \
    case "${arch##*-}" in \
        x86_64 | amd64) ARCH='amd64' ;; \
        ppc64el | ppc64le) ARCH='ppc64le' ;; \
        aarch64) ARCH='arm64' ;; \
        *) echo "unsupported architecture"; exit 1 ;; \
    esac; \
    wget -nv -O - https://storage.googleapis.com/golang/go${GOLANG_VERSION}.linux-${ARCH}.tar.gz \
    | tar -C /usr/local -xz

ENV GOPATH /go
ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
27

28 29 30
RUN go get -u golang.org/x/lint/golint github.com/gordonklaus/ineffassign


31
RUN yum install -y curl
32

33 34
WORKDIR $GOPATH/src/gitlab.com/nvidia/container-toolkit/nvidia-container-runtime
RUN mkdir -p ${GOPATH}/bin
35

36
COPY src .
37
RUN make build
38 39 40 41

# packaging
ARG PKG_VERS
ARG PKG_REV
42
ARG TOOLKIT_VERSION
43 44 45

ENV VERSION $PKG_VERS
ENV RELEASE $PKG_REV
46
ENV TOOLKIT_VERSION $TOOLKIT_VERSION
47 48 49

# output directory
ENV DIST_DIR=/tmp/nvidia-container-runtime-$PKG_VERS/SOURCES
R
Renaud Gaubert 已提交
50
RUN mkdir -p $DIST_DIR /dist
51

52
RUN mv nvidia-container-runtime $DIST_DIR/nvidia-container-runtime
53 54 55 56 57 58 59 60 61

WORKDIR $DIST_DIR/..
COPY rpm .

CMD arch=$(uname -m) && \
    rpmbuild --clean --target=$arch -bb \
             -D "_topdir $PWD" \
             -D "version $VERSION" \
             -D "release $RELEASE" \
62
             -D "toolkit_version $TOOLKIT_VERSION" \
63 64
             SPECS/nvidia-container-runtime.spec && \
    mv RPMS/$arch/*.rpm /dist