github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/Dockerfile (about) 1 FROM golang:1.12 2 3 RUN apt-get update && apt-get install -y \ 4 apparmor \ 5 autoconf \ 6 automake \ 7 bison \ 8 build-essential \ 9 curl \ 10 e2fslibs-dev \ 11 file \ 12 gawk \ 13 gettext \ 14 go-md2man \ 15 iptables \ 16 pkg-config \ 17 libaio-dev \ 18 libcap-dev \ 19 libfuse-dev \ 20 libnet-dev \ 21 libnl-3-dev \ 22 libprotobuf-dev \ 23 libprotobuf-c-dev \ 24 libseccomp2 \ 25 libseccomp-dev \ 26 libtool \ 27 libudev-dev \ 28 protobuf-c-compiler \ 29 protobuf-compiler \ 30 libglib2.0-dev \ 31 libapparmor-dev \ 32 btrfs-tools \ 33 libdevmapper1.02.1 \ 34 libdevmapper-dev \ 35 libgpgme11-dev \ 36 liblzma-dev \ 37 netcat \ 38 socat \ 39 lsof \ 40 xz-utils \ 41 unzip \ 42 python3-yaml \ 43 --no-install-recommends \ 44 && apt-get clean 45 46 # Install runc 47 ENV RUNC_COMMIT 029124da7af7360afa781a0234d1b083550f797c 48 RUN set -x \ 49 && export GOPATH="$(mktemp -d)" \ 50 && git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ 51 && cd "$GOPATH/src/github.com/opencontainers/runc" \ 52 && git fetch origin --tags \ 53 && git checkout --detach -q "$RUNC_COMMIT" \ 54 && make static BUILDTAGS="seccomp selinux" \ 55 && cp runc /usr/bin/runc \ 56 && rm -rf "$GOPATH" 57 58 # Install conmon 59 ENV CONMON_COMMIT 65fe0226d85b69fc9e527e376795c9791199153d 60 RUN set -x \ 61 && export GOPATH="$(mktemp -d)" \ 62 && git clone https://github.com/containers/conmon.git "$GOPATH/src/github.com/containers/conmon.git" \ 63 && cd "$GOPATH/src/github.com/containers/conmon.git" \ 64 && git fetch origin --tags \ 65 && git checkout --detach -q "$CONMON_COMMIT" \ 66 && make \ 67 && install -D -m 755 bin/conmon /usr/libexec/podman/conmon \ 68 && rm -rf "$GOPATH" 69 70 # Install CNI plugins 71 ENV CNI_COMMIT 485be65581341430f9106a194a98f0f2412245fb 72 RUN set -x \ 73 && export GOPATH="$(mktemp -d)" GOCACHE="$(mktemp -d)" \ 74 && git clone https://github.com/containernetworking/plugins.git "$GOPATH/src/github.com/containernetworking/plugins" \ 75 && cd "$GOPATH/src/github.com/containernetworking/plugins" \ 76 && git checkout --detach -q "$CNI_COMMIT" \ 77 && ./build_linux.sh \ 78 && mkdir -p /usr/libexec/cni \ 79 && cp bin/* /usr/libexec/cni \ 80 && rm -rf "$GOPATH" 81 82 # Install ginkgo 83 RUN set -x \ 84 && export GOPATH=/go \ 85 && go get -u github.com/onsi/ginkgo/ginkgo \ 86 && install -D -m 755 "$GOPATH"/bin/ginkgo /usr/bin/ 87 88 # Install gomega 89 RUN set -x \ 90 && export GOPATH=/go \ 91 && go get github.com/onsi/gomega/... 92 93 # Install latest stable criu version 94 RUN set -x \ 95 && cd /tmp \ 96 && git clone https://github.com/checkpoint-restore/criu.git \ 97 && cd criu \ 98 && make \ 99 && install -D -m 755 criu/criu /usr/sbin/ \ 100 && rm -rf /tmp/criu 101 102 # Install cni config 103 #RUN make install.cni 104 RUN mkdir -p /etc/cni/net.d/ 105 COPY cni/87-podman-bridge.conflist /etc/cni/net.d/87-podman-bridge.conflist 106 107 # Make sure we have some policy for pulling images 108 RUN mkdir -p /etc/containers && curl https://raw.githubusercontent.com/projectatomic/registries/master/registries.fedora -o /etc/containers/registries.conf 109 110 COPY test/policy.json /etc/containers/policy.json 111 COPY test/redhat_sigstore.yaml /etc/containers/registries.d/registry.access.redhat.com.yaml 112 113 ADD . /go/src/github.com/containers/libpod 114 115 RUN set -x && cd /go/src/github.com/containers/libpod 116 117 WORKDIR /go/src/github.com/containers/libpod