github.com/abayer/test-infra@v0.0.5/dind/node/Dockerfile (about) 1 # Copyright 2017 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 15 FROM gcr.io/k8s-testimages/dind-test-base-amd64:0.2 16 17 # Get our short startup scripts first, because they're least likely to change. 18 COPY init-wrapper.sh /init-wrapper.sh 19 COPY start.sh /start.sh 20 21 # Addon config changes infrequently, so get them next. 22 COPY cluster / 23 24 # Get the debs 25 COPY kubectl.deb / 26 COPY kubelet.deb / 27 COPY kubernetes-cni.deb / 28 COPY kubeadm.deb / 29 30 # Grab a file with the version info (one for kubeadm, one for docker). 31 COPY source_version / 32 COPY docker_version / 33 34 # Install the binaries before getting the component images, because if they've 35 # changed, we're already redoing everything. 36 37 # kubernetes-cni.deb needs this dir 38 RUN mkdir -p /opt/cni/bin 39 40 # kubeadm depends on kubelet depends on kubernetes-cni 41 RUN dpkg -i kubectl.deb 42 RUN dpkg -i kubernetes-cni.deb 43 RUN dpkg -i kubelet.deb 44 RUN dpkg -i kubeadm.deb 45 46 # Get the component docker images last, because they're most likely to change. 47 COPY kube-proxy.tar / 48 COPY kube-controller-manager.tar / 49 COPY kube-scheduler.tar / 50 COPY kube-apiserver.tar / 51 52 ENTRYPOINT ["/init-wrapper.sh"]