Bootstrapping docker deamon

In the official Kubernetes multinode Docker guide , it is mentioned that you need to another Docker instance:

A bootstrap Docker instance which is used to start etcd and flanneld, on which the Kubernetes components depend

So what is a bootstrap instance and how do you make sure that keeps running on restarts ?

  • How to determine what containers use the docker volume?
  • Docker volume: backup
  • Minimize docker container size built with nix
  • How to use curl command to get manifest v2 schema version 2
  • Dovecot: Kill permission denied when reloading
  • Docker with pm2-docker app not accessible
  • Docker nancy - no route to host
  • Why doesn't my newly-created docker have a digest?
  • How to access https URL for spring boot application
  • Connecting to remote activemq instance running on docker container
  • Dockerization of octopress with Alpine Linux
  • Jenkins + Docker - How To Deal With Versions
  • One Solution collect form web for “Bootstrapping docker deamon”

    The documentation gives a detailed explanation as to the purpose of the bootstrap instance of Docker:

    This guide uses a pattern of running two instances of the Docker
    daemon: 1) A bootstrap Docker instance which is used to start etcd and
    flanneld, on which the Kubernetes components depend 2) A main Docker
    instance which is used for the Kubernetes infrastructure and user’s
    scheduled containers

    This pattern is necessary because the flannel daemon is responsible
    for setting up and managing the network that interconnects all of the
    Docker containers created by Kubernetes. To achieve this, it must run
    outside of the main Docker daemon. However, it is still useful to use
    containers for deployment and management, so we create a simpler
    bootstrap daemon to achieve this.

    In summary the special bootstrap docker daemon runs the bits that kubernetes depends on, freeing up the the normal docker daemon to be managed by kubernetes. This is a trick that leverages the fact that both etcd and flanneld can be run as containers. Alternatively one would have to set them up locally as services.

    As for ensuring the bootstrapping docker daemon survives a restart, the answer lies within the code. Here’s where it’s being called when running the master.sh script.

    So the code attempts to setup a service for the extra docker daemon process.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.