Browse code

Merge pull request #427 from dhrp/docs

- Packaging: Fixed Vagrantfile
* Documentation: Updated install instructions

Solomon Hykes authored on 2013/04/24 11:49:28
Showing 14 changed files
... ...
@@ -2,19 +2,12 @@
2 2
 # vi: set ft=ruby :
3 3
 
4 4
 def v10(config)
5
-  config.vm.box = "quantal64_3.5.0-25"
6
-  config.vm.box_url = "http://get.docker.io/vbox/ubuntu/12.10/quantal64_3.5.0-25.box"
5
+  config.vm.box = 'precise64'
6
+  config.vm.box_url = 'http://files.vagrantup.com/precise64.box'
7 7
 
8
-  config.vm.share_folder "v-data", "/opt/go/src/github.com/dotcloud/docker", File.dirname(__FILE__)
9
-
10
-  # Ensure puppet is installed on the instance
11
-  config.vm.provision :shell, :inline => "apt-get -qq update; apt-get install -y puppet"
12
-
13
-  config.vm.provision :puppet do |puppet|
14
-    puppet.manifests_path = "puppet/manifests"
15
-    puppet.manifest_file  = "quantal64.pp"
16
-    puppet.module_path = "puppet/modules"
17
-  end
8
+  # Install ubuntu packaging dependencies and create ubuntu packages
9
+  config.vm.provision :shell, :inline => "echo 'deb http://ppa.launchpad.net/dotcloud/lxc-docker/ubuntu precise main' >>/etc/apt/sources.list"
10
+  config.vm.provision :shell, :inline => 'export DEBIAN_FRONTEND=noninteractive; apt-get -qq update; apt-get install -qq -y --force-yes lxc-docker'
18 11
 end
19 12
 
20 13
 Vagrant::VERSION < "1.1.0" and Vagrant::Config.run do |config|
... ...
@@ -30,11 +23,11 @@ Vagrant::VERSION >= "1.1.0" and Vagrant.configure("2") do |config|
30 30
     config.vm.box = "dummy"
31 31
     config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
32 32
     aws.access_key_id = ENV["AWS_ACCESS_KEY_ID"]
33
-    aws.secret_access_key = ENV["AWS_SECRET_ACCESS_KEY"]
33
+    aws.secret_access_key =     ENV["AWS_SECRET_ACCESS_KEY"]
34 34
     aws.keypair_name = ENV["AWS_KEYPAIR_NAME"]
35 35
     aws.ssh_private_key_path = ENV["AWS_SSH_PRIVKEY"]
36 36
     aws.region = "us-east-1"
37
-    aws.ami = "ami-ae9806c7"
37
+    aws.ami = "ami-d0f89fb9"
38 38
     aws.ssh_username = "ubuntu"
39 39
     aws.instance_type = "t1.micro"
40 40
   end
... ...
@@ -51,7 +44,39 @@ Vagrant::VERSION >= "1.1.0" and Vagrant.configure("2") do |config|
51 51
   end
52 52
 
53 53
   config.vm.provider :virtualbox do |vb|
54
-    config.vm.box = "quantal64_3.5.0-25"
55
-    config.vm.box_url = "http://get.docker.io/vbox/ubuntu/12.10/quantal64_3.5.0-25.box"
54
+    config.vm.box = 'precise64'
55
+    config.vm.box_url = 'http://files.vagrantup.com/precise64.box'
56 56
   end
57 57
 end
58
+
59
+Vagrant::VERSION >= "1.2.0" and Vagrant.configure("2") do |config|
60
+  config.vm.provider :aws do |aws, override|
61
+    config.vm.box = "dummy"
62
+    config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
63
+    aws.access_key_id = ENV["AWS_ACCESS_KEY_ID"]
64
+    aws.secret_access_key = ENV["AWS_SECRET_ACCESS_KEY"]
65
+    aws.keypair_name = ENV["AWS_KEYPAIR_NAME"]
66
+    override.ssh.private_key_path = ENV["AWS_SSH_PRIVKEY"]
67
+    override.ssh.username = "ubuntu"
68
+    aws.region = "us-east-1"
69
+    aws.ami = "ami-d0f89fb9"
70
+    aws.instance_type = "t1.micro"
71
+  end
72
+
73
+  config.vm.provider :rackspace do |rs|
74
+    config.vm.box = "dummy"
75
+    config.vm.box_url = "https://github.com/mitchellh/vagrant-rackspace/raw/master/dummy.box"
76
+    config.ssh.private_key_path = ENV["RS_PRIVATE_KEY"]
77
+    rs.username = ENV["RS_USERNAME"]
78
+    rs.api_key  = ENV["RS_API_KEY"]
79
+    rs.public_key_path = ENV["RS_PUBLIC_KEY"]
80
+    rs.flavor   = /512MB/
81
+    rs.image    = /Ubuntu/
82
+  end
83
+
84
+  config.vm.provider :virtualbox do |vb|
85
+    config.vm.box = 'precise64'
86
+    config.vm.box_url = 'http://files.vagrantup.com/precise64.box'
87
+  end
88
+
89
+end
... ...
@@ -51,6 +51,7 @@ docs:
51 51
 	cp sources/dotcloud.yml $(BUILDDIR)/html/
52 52
 	cp sources/CNAME $(BUILDDIR)/html/
53 53
 	cp sources/.nojekyll $(BUILDDIR)/html/
54
+	cp sources/nginx.conf $(BUILDDIR)/html/
54 55
 	@echo
55 56
 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
56 57
 
... ...
@@ -49,7 +49,7 @@ Save the changed we just made in the container to a new image called "_/builds/g
49 49
     WEB_WORKER=$(docker run -d -p 5000 $BUILD_IMG /usr/local/bin/runapp)
50 50
 
51 51
 - **"docker run -d "** run a command in a new container. We pass "-d" so it runs as a daemon.
52
-  **"-p 5000"* the web app is going to listen on this port, so it must be mapped from the container to the host system.
52
+- **"-p 5000"** the web app is going to listen on this port, so it must be mapped from the container to the host system.
53 53
 - **"$BUILD_IMG"** is the image we want to run the command inside of.
54 54
 - **/usr/local/bin/runapp** is the command which starts the web app.
55 55
 
... ...
@@ -71,34 +71,40 @@
71 71
                 <h2>
72 72
                     <a name="installing-on-ubuntu-1204-and-1210" class="anchor" href="#installing-on-ubuntu-1204-and-1210"><span class="mini-icon mini-icon-link"></span>
73 73
                     </a>Installing on Ubuntu</h2>
74
+
75
+                    <p><strong>Requirements</strong></p>
76
+                    <ul>
77
+                        <li>Ubuntu 12.04 (LTS) (64-bit)</li>
78
+                        <li> or Ubuntu 12.10 (quantal) (64-bit)</li>
79
+                    </ul>
74 80
                 <ol>
75 81
                     <li>
76
-                        <p>Install dependencies:</p>
82
+                    <p><strong>Install dependencies</strong></p>
83
+                    The linux-image-extra package is only needed on standard Ubuntu EC2 AMIs in order to install the aufs kernel module.
84
+                    <pre>sudo apt-get install linux-image-extra-`uname -r`</pre>
77 85
 
78
-                        <div class="highlight">
79
-                            <pre>sudo apt-get install lxc wget bsdtar curl</pre>
80
-                            <pre>sudo apt-get install linux-image-extra-<span class="sb">`</span>uname -r<span class="sb">`</span></pre></div>
81 86
 
82
-                        <p>The <code>linux-image-extra</code> package is needed on standard Ubuntu EC2 AMIs in order to install the aufs kernel module.</p>
83 87
                     </li>
84 88
                     <li>
85
-                        <p>Install the latest docker binary:</p>
86
-
89
+                        <p><strong>Install Docker</strong></p>
90
+                        <p>Add the Ubuntu PPA (Personal Package Archive) sources to your apt sources list, update and install.</p>
91
+                        <p>You may see some warnings that the GPG keys cannot be verified.</p>
87 92
                         <div class="highlight">
88
-                            <pre>wget http://get.docker.io/builds/<span class="k">$(</span>uname -s<span class="k">)</span>/<span class="k">$(</span>uname -m<span class="k">)</span>/docker-master.tgz</pre>
89
-                            <pre>tar -xf docker-master.tgz</pre>
93
+                            <pre>sudo sh -c "echo 'deb http://ppa.launchpad.net/dotcloud/lxc-docker/ubuntu precise main' >> /etc/apt/sources.list"</pre>
94
+                            <pre>sudo apt-get update</pre>
95
+                            <pre>sudo apt-get install lxc-docker</pre>
90 96
                         </div>
97
+
98
+
91 99
                     </li>
100
+
92 101
                     <li>
93
-                        <p>Run your first container!</p>
102
+                        <p><strong>Run!</strong></p>
94 103
 
95
-                        <div class="highlight"><pre><span class="nb">cd </span>docker-master</pre>
96
-                            <pre>sudo ./docker run -i -t base /bin/bash</pre>
104
+                        <div class="highlight">
105
+                            <pre>docker run -i -t ubuntu /bin/bash</pre>
97 106
                         </div>
98
-                        <p>Done!</p>
99
-                        <p>Consider adding docker to your <code>PATH</code> for simplicity.</p>
100 107
                     </li>
101
-
102 108
                     Continue with the <a href="http://docs.docker.io/en/latest/examples/hello_world/">Hello world</a> example.
103 109
                 </ol>
104 110
             </section>
... ...
@@ -117,7 +123,7 @@
117 117
                     vagrant and an Ubuntu virtual machine.</strong></p>
118 118
 
119 119
                 <ul>
120
-                    <li><a href="http://docs.docker.io/en/latest/installation/macos/">Mac OS X and other linuxes</a></li>
120
+                    <li><a href="http://docs.docker.io/en/latest/installation/vagrant/">Mac OS X and other linuxes</a></li>
121 121
                     <li><a href="http://docs.docker.io/en/latest/installation/windows/">Windows</a></li>
122 122
                 </ul>
123 123
 
... ...
@@ -1,8 +1,9 @@
1 1
 Amazon EC2
2 2
 ==========
3 3
 
4
-    Please note this is a community contributed installation path. The only 'official' installation is using the :ref:`ubuntu_linux` installation path. This version
5
-    may be out of date because it depends on some binaries to be updated and published
4
+  Please note this is a community contributed installation path. The only 'official' installation is using the
5
+  :ref:`ubuntu_linux` installation path. This version may sometimes be out of date.
6
+
6 7
 
7 8
 Installation
8 9
 ------------
... ...
@@ -17,7 +18,7 @@ Docker can now be installed on Amazon EC2 with a single vagrant command. Vagrant
17 17
        vagrant plugin install vagrant-aws
18 18
 
19 19
 
20
-3. Get the docker sources, this will give you the latest Vagrantfile and puppet manifests.
20
+3. Get the docker sources, this will give you the latest Vagrantfile.
21 21
 
22 22
    ::
23 23
 
... ...
@@ -3,6 +3,10 @@
3 3
 Arch Linux
4 4
 ==========
5 5
 
6
+  Please note this is a community contributed installation path. The only 'official' installation is using the
7
+  :ref:`ubuntu_linux` installation path. This version may sometimes be out of date.
8
+
9
+
6 10
 Installing on Arch Linux is not officially supported but can be handled via 
7 11
 either of the following AUR packages:
8 12
 
... ...
@@ -40,6 +44,7 @@ new kernel will be compiled and this can take quite a while.
40 40
 
41 41
     yaourt -S lxc-docker-git
42 42
 
43
+
43 44
 Starting Docker
44 45
 ---------------
45 46
 
... ...
@@ -52,6 +57,7 @@ There is a systemd service unit created for docker.  To start the docker service
52 52
 
53 53
     sudo systemctl start docker
54 54
 
55
+
55 56
 To start on system boot:
56 57
 
57 58
 ::
58 59
new file mode 100644
... ...
@@ -0,0 +1,53 @@
0
+.. _binaries:
1
+
2
+Binaries
3
+========
4
+
5
+  **Please note this project is currently under heavy development. It should not be used in production.**
6
+
7
+
8
+Right now, the officially supported distributions are:
9
+
10
+- Ubuntu 12.04 (precise LTS) (64-bit)
11
+- Ubuntu 12.10 (quantal) (64-bit)
12
+
13
+
14
+Install dependencies:
15
+---------------------
16
+
17
+::
18
+
19
+    sudo apt-get install lxc bsdtar
20
+    sudo apt-get install linux-image-extra-`uname -r`
21
+
22
+The linux-image-extra package is needed on standard Ubuntu EC2 AMIs in order to install the aufs kernel module.
23
+
24
+Install the docker binary:
25
+
26
+::
27
+
28
+    wget http://get.docker.io/builds/Linux/x86_64/docker-master.tgz
29
+    tar -xf docker-master.tgz
30
+    sudo cp ./docker-master /usr/local/bin
31
+
32
+Note: docker currently only supports 64-bit Linux hosts.
33
+
34
+
35
+Run the docker daemon
36
+---------------------
37
+
38
+::
39
+
40
+    sudo docker -d &
41
+
42
+
43
+Run your first container!
44
+-------------------------
45
+
46
+::
47
+
48
+    docker run -i -t ubuntu /bin/bash
49
+
50
+
51
+
52
+Continue with the :ref:`hello_world` example.
0 53
\ No newline at end of file
... ...
@@ -13,8 +13,9 @@ Contents:
13 13
    :maxdepth: 1
14 14
 
15 15
    ubuntulinux
16
+   binaries
16 17
    archlinux
17
-   macos
18
+   vagrant
18 19
    windows
19 20
    amazon
20 21
    upgrading
21 22
deleted file mode 100644
... ...
@@ -1,66 +0,0 @@
1
-
2
-Mac OS X and other linux
3
-========================
4
-
5
-  Please note this is a community contributed installation path. The only 'official' installation is using the :ref:`ubuntu_linux` installation path. This version
6
-  may be out of date because it depends on some binaries to be updated and published
7
-
8
-
9
-Requirements
10
-
11
-We currently rely on some Ubuntu-linux specific packages, this will change in the future, but for now we provide a
12
-streamlined path to install Virtualbox with a Ubuntu 12.10 image using Vagrant.
13
-
14
-1. Install virtualbox from https://www.virtualbox.org/ (or use your package manager)
15
-2. Install vagrant from http://www.vagrantup.com/ (or use your package manager)
16
-3. Install git if you had not installed it before, check if it is installed by running
17
-   ``git`` in a terminal window
18
-
19
-We recommend having at least about 2Gb of free disk space and 2Gb RAM (or more).
20
-
21
-Installation
22
-
23
-1. Fetch the docker sources
24
-
25
-.. code-block:: bash
26
-
27
-   git clone https://github.com/dotcloud/docker.git
28
-
29
-2. Run vagrant from the sources directory
30
-
31
-.. code-block:: bash
32
-
33
-    vagrant up
34
-
35
-Vagrant will:
36
-
37
-* Download the Quantal64 base ubuntu virtual machine image from get.docker.io/
38
-* Boot this image in virtualbox
39
-
40
-Then it will use Puppet to perform an initial setup in this machine:
41
-
42
-* Download & untar the most recent docker binary tarball to vagrant homedir.
43
-* Debootstrap to /var/lib/docker/images/ubuntu.
44
-* Install & run dockerd as service.
45
-* Put docker in /usr/local/bin.
46
-* Put latest Go toolchain in /usr/local/go.
47
-
48
-You now have a Ubuntu Virtual Machine running with docker pre-installed.
49
-
50
-To access the VM and use Docker, Run ``vagrant ssh`` from the same directory as where you ran
51
-``vagrant up``. Vagrant will make sure to connect you to the correct VM.
52
-
53
-.. code-block:: bash
54
-
55
-    vagrant ssh
56
-
57
-Now you are in the VM, run docker
58
-
59
-.. code-block:: bash
60
-
61
-    docker
62
-
63
-
64
-Continue with the :ref:`hello_world` example.
... ...
@@ -1,56 +1,61 @@
1 1
 .. _ubuntu_linux:
2 2
 
3
-Installing on Ubuntu Linux
4
-==========================
3
+Ubuntu Linux
4
+============
5 5
 
6 6
   **Please note this project is currently under heavy development. It should not be used in production.**
7 7
 
8 8
 
9
+Right now, the officially supported distributions are:
9 10
 
10
-Installing on Ubuntu 12.04 and 12.10
11
+- Ubuntu 12.04 (precise LTS) (64-bit)
12
+- Ubuntu 12.10 (quantal) (64-bit)
13
+
14
+Dependencies
15
+------------
16
+
17
+The linux-image-extra package is only needed on standard Ubuntu EC2 AMIs in order to install the aufs kernel module.
18
+
19
+.. code-block:: bash
20
+
21
+   sudo apt-get install linux-image-extra-`uname -r`
22
+
23
+
24
+Installation
25
+------------
26
+
27
+Docker is available as a Ubuntu PPA (Personal Package Archive),
28
+`hosted on launchpad  <https://launchpad.net/~dotcloud/+archive/lxc-docker>`_
29
+which makes installing Docker on Ubuntu very easy.
11 30
 
12
-Right now, the officially supported distributions are:
13 31
 
14
-* Ubuntu 12.04 (precise LTS)
15
-* Ubuntu 12.10 (quantal)
16 32
 
17
-Install dependencies:
33
+Add the custom package sources to your apt sources list. Copy and paste the following lines at once.
18 34
 
19
-::
35
+.. code-block:: bash
20 36
 
21
-    sudo apt-get install lxc bsdtar
22
-    sudo apt-get install linux-image-extra-`uname -r`
37
+   sudo sh -c "echo 'deb http://ppa.launchpad.net/dotcloud/lxc-docker/ubuntu precise main' >> /etc/apt/sources.list"
23 38
 
24
-The linux-image-extra package is needed on standard Ubuntu EC2 AMIs in order to install the aufs kernel module.
25 39
 
26
-Install the docker binary
40
+Update your sources. You will see a warning that GPG signatures cannot be verified.
27 41
 
28
-::
42
+.. code-block:: bash
29 43
 
30
-    wget http://get.docker.io/builds/Linux/x86_64/docker-master.tgz
31
-    tar -xf docker-master.tgz
32
-    sudo cp ./docker-master /usr/local/bin
44
+   sudo apt-get update
33 45
 
34
-Note: docker currently only supports 64-bit Linux hosts.
35 46
 
47
+Now install it, you will see another warning that the package cannot be authenticated. Confirm install.
36 48
 
37
-Run the docker daemon
49
+.. code-block:: bash
38 50
 
39
-::
51
+   sudo apt-get install lxc-docker
40 52
 
41
-    sudo docker -d &
42 53
 
43
-Run your first container!
54
+Verify it worked
44 55
 
45
-::
46
-    docker run -i -t ubuntu /bin/bash
56
+.. code-block:: bash
47 57
 
58
+   docker
48 59
 
49
-Check out more examples
50 60
 
51
-Continue with the :ref:`hello_world` example.
61
+**Done!**, now continue with the :ref:`hello_world` example.
... ...
@@ -3,7 +3,8 @@
3 3
 Upgrading
4 4
 ============
5 5
 
6
-   We assume you are upgrading from within the operating system which runs your docker daemon.
6
+These instructions are for upgrading your Docker binary for when you had a custom (non package manager) installation.
7
+If you istalled docker using apt-get, use that to upgrade.
7 8
 
8 9
 
9 10
 Get the latest docker binary:
10 11
new file mode 100644
... ...
@@ -0,0 +1,70 @@
0
+
1
+.. _install_using_vagrant:
2
+
3
+Using Vagrant
4
+=============
5
+
6
+  Please note this is a community contributed installation path. The only 'official' installation is using the
7
+  :ref:`ubuntu_linux` installation path. This version may sometimes be out of date.
8
+
9
+**Requirements:**
10
+This guide will setup a new virtual machine with docker installed on your computer. This works on most operating
11
+systems, including MacOX, Windows, Linux, FreeBSD and others. If you can install these and have at least 400Mb RAM
12
+to spare you should be good.
13
+
14
+
15
+Install Vagrant and Virtualbox
16
+------------------------------
17
+
18
+1. Install virtualbox from https://www.virtualbox.org/ (or use your package manager)
19
+2. Install vagrant from http://www.vagrantup.com/ (or use your package manager)
20
+3. Install git if you had not installed it before, check if it is installed by running
21
+   ``git`` in a terminal window
22
+
23
+
24
+Spin it up
25
+----------
26
+
27
+1. Fetch the docker sources (this includes the Vagrantfile for machine setup).
28
+
29
+   .. code-block:: bash
30
+
31
+      git clone https://github.com/dotcloud/docker.git
32
+
33
+2. Run vagrant from the sources directory
34
+
35
+   .. code-block:: bash
36
+
37
+      vagrant up
38
+
39
+   Vagrant will:
40
+
41
+   * Download the 'official' Precise64 base ubuntu virtual machine image from vagrantup.com
42
+   * Boot this image in virtualbox
43
+   * Add the `Docker PPA sources <https://launchpad.net/~dotcloud/+archive/lxc-docker>`_ to /etc/apt/sources.lst
44
+   * Update your sources
45
+   * Install lxc-docker
46
+
47
+   You now have a Ubuntu Virtual Machine running with docker pre-installed.
48
+
49
+Connect
50
+-------
51
+
52
+To access the VM and use Docker, Run ``vagrant ssh`` from the same directory as where you ran
53
+``vagrant up``. Vagrant will connect you to the correct VM.
54
+
55
+.. code-block:: bash
56
+
57
+   vagrant ssh
58
+
59
+Run
60
+-----
61
+
62
+Now you are in the VM, run docker
63
+
64
+.. code-block:: bash
65
+
66
+   docker
67
+
68
+
69
+Continue with the :ref:`hello_world` example.
... ...
@@ -3,8 +3,8 @@
3 3
 :keywords: Docker, Docker documentation, Windows, requirements, virtualbox, vagrant, git, ssh, putty, cygwin
4 4
 
5 5
 
6
-Windows
7
-=========
6
+Windows (with Vagrant)
7
+======================
8 8
 
9 9
   Please note this is a community contributed installation path. The only 'official' installation is using the :ref:`ubuntu_linux` installation path. This version
10 10
   may be out of date because it depends on some binaries to be updated and published
11 11
new file mode 100644
... ...
@@ -0,0 +1,6 @@
0
+
1
+# rule to redirect original links created when hosted on github pages
2
+rewrite ^/documentation/(.*).html http://docs.docker.io/en/latest/$1/ permanent;
3
+
4
+# rewrite the stuff which was on the current page
5
+rewrite ^/gettingstarted.html$ /gettingstarted/ permanent;