Docker bootstrap unix sock在重启时丢失

我使用docker bootstrap Unix sock来部署flannelnetworking( 源代码 ),在计算机重启后networking恢复到configuration前的状态。

操作系统的Ubuntu 14.04

docker版本1.11.2

一步步

1.安装Docker Bootstrap

sudo sh -c 'docker daemon -H unix:///var/run/docker-bootstrap.sock -p /var/run/docker-bootstrap.pid --iptables=false --ip-masq=false --bridge=none --graph=/var/lib/docker-bootstrap 2> /var/log/docker-bootstrap.log 1> /dev/null &'

它警告说,你应该在SysV init,upstart或systemd之类的东西下运行bootstrap Docker实例,以便在重启和失败时重启。

2.启动flad等API并使用API​​服务器

 sudo docker -H unix:///var/run/docker-bootstrap.sock run -d \ --net=host \ gcr.io/google_containers/etcd-amd64:${ETCD_VERSION} \ /usr/local/bin/etcd \ --listen-client-urls=http://127.0.0.1:4001,http://${MASTER_IP}:4001 \ --advertise-client-urls=http://${MASTER_IP}:4001 \ --data-dir=/var/etcd/data 

 sudo docker -H unix:///var/run/docker-bootstrap.sock run \ --net=host \ gcr.io/google_containers/etcd-amd64:${ETCD_VERSION} \ etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }' 

我认为它会重新启动,如果unix袜子存在,如果需要configuration默认启动条目?

3.设置Docker用于联网的Flannel桥

##将Docker移除

sudo /etc/init.d/docker stop

##运行法兰绒

 sudo docker -H unix:///var/run/docker-bootstrap.sock run -d \ --net=host \ --privileged \ -v /dev/net:/dev/net \ quay.io/coreos/flannel:${FLANNEL_VERSION} \ /opt/bin/flanneld \ --ip-masq=${FLANNEL_IPMASQ} \ --iface=${FLANNEL_IFACE} 

sudo docker -H unix:///var/run/docker-bootstrap.sock exec 'really-long-hash-from-above-here' cat /run/flannel/subnet.env

##编辑dockerconfiguration

--bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU}

##移除现有的Docker桥

sudo /sbin/ifconfig docker0 down

sudo brctl delbr docker0

##重新启动Docker

sudo /etc/init.d/docker start

我想到了第二步

4.开始Kubernetes大师

 sudo docker run \ --volume=/:/rootfs:ro \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:rw \ --volume=/var/lib/kubelet/:/var/lib/kubelet:rw \ --volume=/var/run:/var/run:rw \ --net=host \ --privileged=true \ --pid=host \ -d \ gcr.io/google_containers/hyperkube-amd64:v${K8S_VERSION} \ /hyperkube kubelet \ --allow-privileged=true \ --api-servers=http://localhost:8080 \ --v=2 \ --address=0.0.0.0 \ --enable-server \ --hostname-override=127.0.0.1 \ --config=/etc/kubernetes/manifests-multi \ --containerized \ --cluster-dns=10.0.0.10 \ --cluster-domain=cluster.local 

这个错误没有关系