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 ?

  • Setup & scale titan/cassandra on AWS EC2 using docker
  • AWS latency spike during fix hours
  • Where is the new docker hub api documentation?
  • How to remote access(from out net) to jupyter notebook running on docker on ubuntu server
  • error when install tools in docker container
  • Failed to run service inside docker container
  • Login docker container get return info:cannot set user id: Resource temporarily unavailable
  • docker cp does not copy recursively
  • Run docker inside a docker container?
  • How to make communicate between nginx and php container
  • Unable to connect to Docker Nginx build
  • Not able to copy file from docker container to host
  • 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.