From 21be3b76e99d0a6a9d9722d6221ee15ea971dbf4 Mon Sep 17 00:00:00 2001 From: Andy Rothfusz Date: Tue, 10 Sep 2013 18:54:13 -0700 Subject: [PATCH] Fix #1601 with vagrantless installation instructions. --- docs/sources/installation/amazon.rst | 103 +++++++++++++++++++++------ 1 file changed, 80 insertions(+), 23 deletions(-) diff --git a/docs/sources/installation/amazon.rst b/docs/sources/installation/amazon.rst index b9344042fa..c7979553c9 100644 --- a/docs/sources/installation/amazon.rst +++ b/docs/sources/installation/amazon.rst @@ -1,24 +1,77 @@ :title: Installation on Amazon EC2 -:description: Docker installation on Amazon EC2 with a single vagrant command. Vagrant 1.1 or higher is required. +:description: Docker installation on Amazon EC2 :keywords: amazon ec2, virtualization, cloud, docker, documentation, installation -Using Vagrant (Amazon EC2) -========================== - -This page explains how to setup and run an Amazon EC2 instance from -your local machine. **Vagrant is not necessary to run Docker on -EC2.** You can follow the :ref:`ubuntu_linux` instructions installing -Docker on any EC2 instance running Ubuntu. - -Installation ------------- +Amazon EC2 +========== .. include:: install_header.inc +There are several ways to install Docker on AWS EC2: + +* :ref:`amazonquickstart` or +* :ref:`amazonstandard` or +* :ref:`amazonvagrant` + +**You'll need an** `AWS account `_ **first, of course.** + +.. _amazonquickstart: + +Amazon QuickStart +----------------- + +1. **Choose an image:** + + * Open http://cloud-images.ubuntu.com/locator/ec2/ + * Enter ``amd64 precise`` in the search field (it will search as you + type) + * Pick an image by clicking on the image name. *An EBS-enabled + image will let you t1.micro instance.* Clicking on the image name + will take you to your AWS Console. + +2. **Tell CloudInit to install Docker:** + + * Enter ``#include https://get.docker.io`` into the instance *User + Data*. `CloudInit `_ + is part of the Ubuntu image you chose and it bootstraps from this + *User Data*. + +3. After a few more standard choices where defaults are probably ok, your + AWS Ubuntu instance with Docker should be running! + +**If this is your first AWS instance, you may need to set up your +Security Group to allow SSH.** By default all incoming ports to your +new instance will be blocked by the AWS Security Group, so you might +just get timeouts when you try to connect. + +Installing with ``get.docker.io`` (as above) will create a service +named ``dockerd``. You may want to set up a :ref:`docker group +` and add the *ubuntu* user to it so that you don't have +to use ``sudo`` for every Docker command. + +Once you've got Docker installed, you're ready to try it out -- head +on over to the :doc:`../use/basics` or :doc:`../examples/index` section. + +.. _amazonstandard: + +Standard Ubuntu Installation +---------------------------- + +If you want a more hands-on installation, then you can follow the +:ref:`ubuntu_linux` instructions installing Docker on any EC2 instance +running Ubuntu. Just follow Step 1 from :ref:`amazonquickstart` to +pick an image (or use one of your own) and skip the step with the +*User Data*. Then continue with the :ref:`ubuntu_linux` instructions. + +.. _amazonvagrant: + +Use Vagrant +----------- + .. include:: install_unofficial.inc -Docker can now be installed on Amazon EC2 with a single vagrant -command. Vagrant 1.1 or higher is required. +And finally, if you prefer to work through Vagrant, you can install +Docker that way too. Vagrant 1.1 or higher is required. 1. Install vagrant from http://www.vagrantup.com/ (or use your package manager) 2. Install the vagrant aws plugin @@ -37,16 +90,17 @@ command. Vagrant 1.1 or higher is required. 4. Check your AWS environment. - Create a keypair specifically for EC2, give it a name and save it to your disk. *I usually store these in my ~/.ssh/ folder*. - - Check that your default security group has an inbound rule to accept SSH (port 22) connections. - + Create a keypair specifically for EC2, give it a name and save it + to your disk. *I usually store these in my ~/.ssh/ folder*. + Check that your default security group has an inbound rule to + accept SSH (port 22) connections. 5. Inform Vagrant of your settings - Vagrant will read your access credentials from your environment, so we need to set them there first. Make sure - you have everything on amazon aws setup so you can (manually) deploy a new image to EC2. + Vagrant will read your access credentials from your environment, so + we need to set them there first. Make sure you have everything on + amazon aws setup so you can (manually) deploy a new image to EC2. :: @@ -60,7 +114,8 @@ command. Vagrant 1.1 or higher is required. * ``AWS_ACCESS_KEY_ID`` - The API key used to make requests to AWS * ``AWS_SECRET_ACCESS_KEY`` - The secret key to make AWS API requests * ``AWS_KEYPAIR_NAME`` - The name of the keypair used for this EC2 instance - * ``AWS_SSH_PRIVKEY`` - The path to the private key for the named keypair, for example ``~/.ssh/docker.pem`` + * ``AWS_SSH_PRIVKEY`` - The path to the private key for the named + keypair, for example ``~/.ssh/docker.pem`` You can check if they are set correctly by doing something like @@ -75,10 +130,12 @@ command. Vagrant 1.1 or higher is required. vagrant up --provider=aws - If it stalls indefinitely on ``[default] Waiting for SSH to become available...``, Double check your default security - zone on AWS includes rights to SSH (port 22) to your container. + If it stalls indefinitely on ``[default] Waiting for SSH to become + available...``, Double check your default security zone on AWS + includes rights to SSH (port 22) to your container. - If you have an advanced AWS setup, you might want to have a look at https://github.com/mitchellh/vagrant-aws + If you have an advanced AWS setup, you might want to have a look at + https://github.com/mitchellh/vagrant-aws 7. Connect to your machine