diff --git a/cluster/saltbase/salt/docker/docker.service b/cluster/saltbase/salt/docker/docker.service index ee6c377e56e..aa535375ec8 100644 --- a/cluster/saltbase/salt/docker/docker.service +++ b/cluster/saltbase/salt/docker/docker.service @@ -6,7 +6,7 @@ Requires=docker.socket [Service] EnvironmentFile={{ environment_file }} -ExecStart=/usr/bin/docker -d -H fd:// "$DOCKER_OPTS" +ExecStart=/usr/bin/docker daemon -H fd:// "$DOCKER_OPTS" MountFlags=slave LimitNOFILE=1048576 LimitNPROC=1048576 diff --git a/docs/getting-started-guides/coreos/bare_metal_offline.md b/docs/getting-started-guides/coreos/bare_metal_offline.md index 196ad837cc3..ba6b66faba2 100644 --- a/docs/getting-started-guides/coreos/bare_metal_offline.md +++ b/docs/getting-started-guides/coreos/bare_metal_offline.md @@ -557,7 +557,7 @@ On the PXE server make and fill in the variables `vi /var/www/html/coreos/pxe-cl EnvironmentFile=-/etc/default/docker EnvironmentFile=/run/flannel/subnet.env ExecStartPre=/bin/mount --make-rprivate / - ExecStart=/usr/bin/docker -d --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} -s=overlay -H fd:// ${DOCKER_EXTRA_OPTS} + ExecStart=/usr/bin/docker daemon --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} -s=overlay -H fd:// ${DOCKER_EXTRA_OPTS} [Install] WantedBy=multi-user.target - name: setup-network-environment.service diff --git a/docs/getting-started-guides/docker-multinode/master.md b/docs/getting-started-guides/docker-multinode/master.md index 3a467422997..9af4085f6f4 100644 --- a/docs/getting-started-guides/docker-multinode/master.md +++ b/docs/getting-started-guides/docker-multinode/master.md @@ -71,6 +71,12 @@ Run: sudo sh -c 'docker -d -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 &' ``` +_If you have Docker 1.8.0 or higher run this instead_ + +```sh +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 &' +``` + _Important Note_: If you are running this on a long running system, rather than experimenting, you should run the bootstrap Docker instance under something like SysV init, upstart or systemd so that it is restarted across reboots and failures. diff --git a/docs/getting-started-guides/docker-multinode/master.sh b/docs/getting-started-guides/docker-multinode/master.sh index 79ac48b4367..d7f59224c5d 100755 --- a/docs/getting-started-guides/docker-multinode/master.sh +++ b/docs/getting-started-guides/docker-multinode/master.sh @@ -66,7 +66,7 @@ detect_lsb() { *64) ;; *) - echo "Error: We currently only support 64-bit platforms." + echo "Error: We currently only support 64-bit platforms." exit 1 ;; esac @@ -103,7 +103,15 @@ detect_lsb() { # Start the bootstrap daemon # TODO: do not start docker-bootstrap if it's already running bootstrap_daemon() { - docker -d \ + # Detecting docker version so we could run proper docker_daemon command + [[ $(eval "docker --version") =~ ([0-9][.][0-9][.][0-9]*) ]] && version="${BASH_REMATCH[1]}" + local got=$(echo -e "${version}\n1.8.0" | sed '/^$/d' | sort -nr | head -1) + if [[ "${got}" = "${version}" ]]; then + docker_daemon="docker -d" + else + docker_daemon="docker daemon" + fi + ${docker_daemon} \ -H unix:///var/run/docker-bootstrap.sock \ -p /var/run/docker-bootstrap.pid \ --iptables=false \ @@ -112,7 +120,7 @@ bootstrap_daemon() { --graph=/var/lib/docker-bootstrap \ 2> /var/log/docker-bootstrap.log \ 1> /dev/null & - + sleep 5 } @@ -120,7 +128,7 @@ bootstrap_daemon() { DOCKER_CONF="" start_k8s(){ - # Start etcd + # Start etcd docker -H unix:///var/run/docker-bootstrap.sock run \ --restart=on-failure \ --net=host \ diff --git a/docs/getting-started-guides/docker-multinode/worker.md b/docs/getting-started-guides/docker-multinode/worker.md index 5ec5b77b6f5..bf146ea3b9d 100644 --- a/docs/getting-started-guides/docker-multinode/worker.md +++ b/docs/getting-started-guides/docker-multinode/worker.md @@ -73,6 +73,12 @@ Run: sudo sh -c 'docker -d -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 &' ``` +_If you have Docker 1.8.0 or higher run this instead_ + +```sh +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 &' +``` + _Important Note_: If you are running this on a long running system, rather than experimenting, you should run the bootstrap Docker instance under something like SysV init, upstart or systemd so that it is restarted across reboots and failures. @@ -173,7 +179,7 @@ sudo docker run \ --volume=/var/run:/var/run:rw \ --net=host \ --privileged=true \ - --pid=host \ + --pid=host \ -d \ gcr.io/google_containers/hyperkube-amd64:v${K8S_VERSION} \ /hyperkube kubelet \ diff --git a/docs/getting-started-guides/docker-multinode/worker.sh b/docs/getting-started-guides/docker-multinode/worker.sh index 39fb02e5b11..64048844863 100755 --- a/docs/getting-started-guides/docker-multinode/worker.sh +++ b/docs/getting-started-guides/docker-multinode/worker.sh @@ -64,7 +64,7 @@ detect_lsb() { *64) ;; *) - echo "Error: We currently only support 64-bit platforms." + echo "Error: We currently only support 64-bit platforms." exit 1 ;; esac @@ -100,7 +100,15 @@ detect_lsb() { # Start the bootstrap daemon bootstrap_daemon() { - docker -d \ + # Detecting docker version so we could run proper docker_daemon command + [[ $(eval "docker --version") =~ ([0-9][.][0-9][.][0-9]*) ]] && version="${BASH_REMATCH[1]}" + local got=$(echo -e "${version}\n1.8.0" | sed '/^$/d' | sort -nr | head -1) + if [[ "${got}" = "${version}" ]]; then + docker_daemon="docker -d" + else + docker_daemon="docker daemon" + fi + ${docker_daemon} \ -H unix:///var/run/docker-bootstrap.sock \ -p /var/run/docker-bootstrap.pid \ --iptables=false \ @@ -175,7 +183,7 @@ start_k8s() { # sleep a little bit sleep 5 - + # Start kubelet & proxy in container # TODO: Use secure port for communication docker run \ @@ -199,7 +207,7 @@ start_k8s() { --cluster-domain=cluster.local \ --containerized \ --v=2 - + docker run \ -d \ --net=host \