By default it returns a shell: tux@ultron:~/github/kubernetes/cluster/images/hyperkube> docker run -it k8s.gcr.io/debian-hyperkube-base-amd64:0.12.0 sh-4.4# There are symlinks for: apiserver, kubectl, kubelet, proxy, scheduler lrwxrwxrwx 1 root root 10 Oct 19 23:24 apiserver -> /hyperkube drwxr-xr-x 1 root root 912 Oct 19 23:25 bin drwxr-xr-x 1 root root 0 Jun 26 12:03 boot lrwxrwxrwx 1 root root 10 Oct 19 23:24 cloud-controller-manager -> /hyperkube lrwxrwxrwx 1 root root 10 Oct 19 23:24 controller-manager -> /hyperkube drwxr-xr-x 5 root root 360 Nov 20 15:36 dev drwxr-xr-x 1 root root 1810 Nov 20 15:36 etc drwxr-xr-x 1 root root 0 Jun 26 12:03 home lrwxrwxrwx 1 root root 10 Oct 19 23:24 kubectl -> /hyperkube lrwxrwxrwx 1 root root 10 Oct 19 23:24 kubelet -> /hyperkube drwxr-xr-x 1 root root 154 Oct 19 23:25 lib drwxr-xr-x 1 root root 40 Oct 11 00:00 lib64 drwxr-xr-x 1 root root 0 Oct 11 00:00 media drwxr-xr-x 1 root root 0 Oct 11 00:00 mnt drwxr-xr-x 1 root root 6 Oct 19 23:25 opt dr-xr-xr-x 434 root root 0 Nov 20 15:36 proc lrwxrwxrwx 1 root root 10 Oct 19 23:24 proxy -> /hyperkube drwx------ 1 root root 0 Oct 18 22:56 root drwxr-xr-x 1 root root 26 Oct 19 23:25 run drwxr-xr-x 1 root root 1820 Oct 19 23:25 sbin lrwxrwxrwx 1 root root 10 Oct 19 23:24 scheduler -> /hyperkube drwxr-xr-x 1 root root 0 Oct 11 00:00 srv dr-xr-xr-x 13 root root 0 Nov 20 15:32 sys drwxrwxrwt 1 root root 0 Oct 19 23:25 tmp drwxr-xr-x 1 root root 70 Oct 11 00:00 usr drwxr-xr-x 1 root root 90 Oct 11 00:00 var The CMD is part is the following: "Cmd": [ "/bin/sh", "-c", "#(nop) COPY file:31e4ddd5c221b63054724ec24849afee6e4dbc386a9cb7f5c8a778ce4a15d255 in /hyperkube " ], The Dockerfile itself it plain simple: FROM BASEIMAGE # Copy the hyperkube binary COPY hyperkube /hyperkube