123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- :title: Requirements and Installation on Ubuntu Linux
- :description: Please note this project is currently under heavy development. It should not be used in production.
- :keywords: Docker, Docker documentation, requirements, virtualbox, vagrant, git, ssh, putty, cygwin, linux
- .. _ubuntu_linux:
- Ubuntu Linux
- ============
- .. warning::
- These instructions have changed for 0.6. If you are upgrading from
- an earlier version, you will need to follow them again.
- .. include:: install_header.inc
- Right now, the officially supported distribution are:
- - :ref:`ubuntu_precise`
- - :ref:`ubuntu_raring`
- Docker has the following dependencies
- * Linux kernel 3.8 (read more about :ref:`kernel`)
- * AUFS file system support (we are working on BTRFS support as an alternative)
- Please read :ref:`ufw`, if you plan to use `UFW (Uncomplicated
- Firewall) <https://help.ubuntu.com/community/UFW>`_
- .. _ubuntu_precise:
- Ubuntu Precise 12.04 (LTS) (64-bit)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- This installation path should work at all times.
- Dependencies
- ------------
- **Linux kernel 3.8**
- Due to a bug in LXC, docker works best on the 3.8 kernel. Precise
- comes with a 3.2 kernel, so we need to upgrade it. The kernel you'll
- install when following these steps comes with AUFS built in. We also
- include the generic headers to enable packages that depend on them,
- like ZFS and the VirtualBox guest additions. If you didn't install the
- headers for your "precise" kernel, then you can skip these headers for
- the "raring" kernel. But it is safer to include them if you're not
- sure.
- .. code-block:: bash
- # install the backported kernel
- sudo apt-get update
- sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
- # reboot
- sudo reboot
- Installation
- ------------
- .. warning::
- These instructions have changed for 0.6. If you are upgrading from
- an earlier version, you will need to follow them again.
- Docker is available as a Debian package, which makes installation easy.
- .. code-block:: bash
- # Add the Docker repository key to your local keychain
- sudo sh -c "curl https://get.docker.io/gpg | apt-key add -"
- # Add the Docker repository to your apt sources list.
- sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
- # Update your sources
- sudo apt-get update
- # Install, you will see another warning that the package cannot be authenticated. Confirm install.
- sudo apt-get install lxc-docker
- Verify it worked
- .. code-block:: bash
- # download the base 'ubuntu' container and run bash inside it while setting up an interactive shell
- sudo docker run -i -t ubuntu /bin/bash
- # type 'exit' to exit
- **Done!**, now continue with the :ref:`hello_world` example.
- .. _ubuntu_raring:
- Ubuntu Raring 13.04 (64 bit)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Dependencies
- ------------
- **AUFS filesystem support**
- Ubuntu Raring already comes with the 3.8 kernel, so we don't need to install it. However, not all systems
- have AUFS filesystem support enabled, so we need to install it.
- .. code-block:: bash
- sudo apt-get update
- sudo apt-get install linux-image-extra-`uname -r`
- Installation
- ------------
- Docker is available as a Debian package, which makes installation easy.
- *Please note that these instructions have changed for 0.6. If you are upgrading from an earlier version, you will need
- to follow them again.*
- .. code-block:: bash
- # Add the Docker repository key to your local keychain
- sudo sh -c "curl http://get.docker.io/gpg | apt-key add -"
- # Add the Docker repository to your apt sources list.
- sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
- # update
- sudo apt-get update
- # install
- sudo apt-get install lxc-docker
- Verify it worked
- .. code-block:: bash
- # download the base 'ubuntu' container
- # and run bash inside it while setting up an interactive shell
- sudo docker run -i -t ubuntu /bin/bash
- # type exit to exit
- **Done!**, now continue with the :ref:`hello_world` example.
- .. _ufw:
- Docker and UFW
- ^^^^^^^^^^^^^^
- Docker uses a bridge to manage containers networking, by default UFW
- drop all `forwarding`, a first step is to enable forwarding:
- .. code-block:: bash
- sudo nano /etc/default/ufw
- ----
- # Change:
- # DEFAULT_FORWARD_POLICY="DROP"
- # to
- DEFAULT_FORWARD_POLICY="ACCEPT"
- Then reload UFW:
- .. code-block:: bash
- sudo ufw reload
- UFW's default set of rules denied all `incoming`, so if you want to be
- able to reach your containers from another host, you should allow
- incoming connections on the docker port (default 4243):
- .. code-block:: bash
- sudo ufw allow 4243/tcp
|