/
Dockerfile
42 lines (36 loc) · 1.3 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Equal to rockylinux:8.5
# SHA256 digest of the base image
ARG BUILD_IMAGE_SHA256=5fed5497b568bcf7a90a00965987fc099edbcf44b1179a5ef6d4b47758281ca5
ARG BUILD_IMAGE=docker.io/rockylinux
FROM ${BUILD_IMAGE}@sha256:${BUILD_IMAGE_SHA256} as build
RUN useradd -m build
ARG SALT_VERSION
ARG K8S_SHORT_VERSION
ARG GO_VERSION=1.19.13
ADD common/yum_repositories/*.repo /etc/yum.repos.d/
RUN sed -i s/@SALT_VERSION@/$SALT_VERSION/ /etc/yum.repos.d/saltstack.repo
RUN sed -i s/@K8S_SHORT_VERSION@/$K8S_SHORT_VERSION/ /etc/yum.repos.d/kubernetes.repo
ENV GOPATH /go
ENV GOROOT /usr/local/go
RUN dnf install -y --setopt=skip_missing_names_on_install=False \
createrepo \
epel-release \
python36 \
rpm-build \
rpmdevtools \
rpmlint \
yum-utils \
git \
gcc \
libseccomp-devel \
&& \
dnf clean all
# To build containerd
RUN curl -ORL https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz \
&& tar xzvf go${GO_VERSION}.linux-amd64.tar.gz \
&& rm go${GO_VERSION}.linux-amd64.tar.gz \
&& mv go /usr/local \
&& ln -s $GOROOT/bin/go /usr/local/bin/go \
&& ln -s $GOROOT/bin/gofmt /usr/local/bin/gofmt \
&& go install github.com/cpuguy83/go-md2man/v2@v2.0.2 \
&& ln -s $GOPATH/bin/go-md2man /usr/local/bin/go-md2man