Browse Source

Merge pull request #53 from jpetazzo/cloudinit

Rework install.sh to work with cloud-init
Solomon Hykes 12 năm trước cách đây
mục cha
commit
47c86e7fd9
1 tập tin đã thay đổi với 44 bổ sung23 xóa
  1. 44 23
      install.sh

+ 44 - 23
install.sh

@@ -1,20 +1,46 @@
-# This script is meant for quick & easy install via 'curl URL-OF-SCRIPPT | bash'
-# Courtesy of Jeff Lindsay <progrium@gmail.com>
-
-cd /tmp
-
-echo "Ensuring dependencies are installed..."
-apt-get --yes install lxc wget bsdtar 2>&1 > /dev/null
-
-echo "Downloading docker binary..."
-wget -q https://dl.dropbox.com/u/20637798/docker.tar.gz 2>&1 > /dev/null
-tar -xf docker.tar.gz 2>&1 > /dev/null
+#!/bin/sh
+# This script is meant for quick & easy install via 'curl URL-OF-SCRIPT | sh'
+# Original version by Jeff Lindsay <progrium@gmail.com>
+# Revamped by Jerome Petazzoni <jerome@dotcloud.com>
+#
+# This script canonical location is http://get.docker.io/; to update it, run:
+# s3cmd put -m text/x-shellscript -P install.sh s3://get.docker.io/index
+
+echo "Ensuring basic dependencies are installed..."
+apt-get -qq update
+apt-get -qq install lxc wget bsdtar
+
+echo "Looking in /proc/filesystems to see if we have AUFS support..."
+if grep -q aufs /proc/filesystems
+then
+    echo "Found."
+else
+    echo "Ahem, it looks like the current kernel does not support AUFS."
+    echo "Let's see if we can load the AUFS module with modprobe..."
+    if modprobe aufs
+    then
+        echo "Module loaded."
+    else
+        echo "Ahem, things didn't turn out as expected."
+        KPKG=linux-image-extra-$(uname -r)
+        echo "Trying to install $KPKG..."
+        if apt-get -qq install $KPKG
+        then
+            echo "Installed."
+        else
+            echo "Oops, we couldn't install the -extra kernel."
+            echo "Are you sure you are running a supported version of Ubuntu?"
+            echo "Proceeding anyway, but Docker will probably NOT WORK!"
+        fi
+    fi
+fi
 
 
-echo "Installing into /usr/local/bin..."
-mv docker/docker /usr/local/bin
-mv dockerd/dockerd /usr/local/bin
+echo "Downloading docker binary and uncompressing into /usr/local/bin..."
+curl -s http://get.docker.io/builds/$(uname -s)/$(uname -m)/docker-master.tgz |
+tar -C /usr/local/bin --strip-components=1 -zxf- \
+docker-master/docker docker-master/dockerd
 
 
-if [[ -f /etc/init/dockerd.conf ]]
+if [ -f /etc/init/dockerd.conf ]
 then
 then
   echo "Upstart script already exists."
   echo "Upstart script already exists."
 else
 else
@@ -22,13 +48,8 @@ else
   echo "exec /usr/local/bin/dockerd" > /etc/init/dockerd.conf
   echo "exec /usr/local/bin/dockerd" > /etc/init/dockerd.conf
 fi
 fi
 
 
-echo "Restarting dockerd..."
-restart dockerd > /dev/null
-
-echo "Cleaning up..."
-rmdir docker
-rmdir dockerd
-rm docker.tar.gz
+echo "Starting dockerd..."
+start dockerd > /dev/null
 
 
-echo "Finished!"
+echo "Done."
 echo
 echo