...

Text file src/k8s.io/kubernetes/test/images/agnhost/Dockerfile

Documentation: k8s.io/kubernetes/test/images/agnhost

     1# Copyright 2019 The Kubernetes Authors.
     2#
     3# Licensed under the Apache License, Version 2.0 (the "License");
     4# you may not use this file except in compliance with the License.
     5# You may obtain a copy of the License at
     6#
     7#     http://www.apache.org/licenses/LICENSE-2.0
     8#
     9# Unless required by applicable law or agreed to in writing, software
    10# distributed under the License is distributed on an "AS IS" BASIS,
    11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12# See the License for the specific language governing permissions and
    13# limitations under the License.
    14
    15ARG BASEIMAGE
    16FROM $BASEIMAGE
    17
    18CROSS_BUILD_COPY qemu-QEMUARCH-static /usr/bin/
    19
    20# from dnsutils image
    21# install necessary packages:
    22# - bind-tools: contains dig, which can used in DNS tests.
    23# - CoreDNS: used in some DNS tests.
    24# from hostexec image
    25# install necessary packages:
    26# - curl, nc: used by a lot of e2e tests
    27# - iproute2: includes ss used in NodePort tests
    28# from iperf image
    29# install necessary packages: iperf, bash
    30RUN apk --update add bind-tools curl netcat-openbsd iproute2 iperf bash && rm -rf /var/cache/apk/* \
    31  && ln -s /usr/bin/iperf /usr/local/bin/iperf \
    32  && ls -altrh /usr/local/bin/iperf
    33
    34ADD https://github.com/coredns/coredns/releases/download/v1.6.2/coredns_1.6.2_linux_BASEARCH.tgz /coredns.tgz
    35RUN tar -xzvf /coredns.tgz && rm -f /coredns.tgz
    36
    37# PORT 80 needed by: test-webserver
    38# PORT 8080 needed by: netexec, nettest, resource-consumer, resource-consumer-controller
    39# PORT 8081 needed by: netexec
    40# PORT 9376 needed by: serve-hostname
    41# PORT 5000 needed by: grpc-health-checking
    42EXPOSE 80 8080 8081 9376 5000
    43
    44# from netexec
    45RUN mkdir /uploads
    46
    47# from porter
    48ADD porter/localhost.crt localhost.crt
    49ADD porter/localhost.key localhost.key
    50
    51ADD agnhost agnhost
    52
    53# needed for the entrypoint-tester related tests. Some of the entrypoint-tester related tests
    54# overrides this image's entrypoint with agnhost-2 binary, and will verify that the correct
    55# entrypoint is used by the containers.
    56RUN ln -s agnhost agnhost-2
    57
    58# this user and group is used in a E2E test case of 
    59# SupplementalGroups with pre-defined group in the image
    60# - user-defined-in-image(uid=1000)
    61# - user-defined-in-image belongs to group-defined-in-image(gid=50000)
    62RUN adduser -u 1000 -D user-defined-in-image && \
    63    addgroup -g 50000 group-defined-in-image && \
    64    addgroup user-defined-in-image group-defined-in-image
    65
    66ENTRYPOINT ["/agnhost"]
    67CMD ["pause"]

View as plain text