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