ubuntulinux.rst 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. :title: Requirements and Installation on Ubuntu Linux
  2. :description: Please note this project is currently under heavy development. It should not be used in production.
  3. :keywords: Docker, Docker documentation, requirements, virtualbox, vagrant, git, ssh, putty, cygwin, linux
  4. .. _ubuntu_linux:
  5. Ubuntu Linux
  6. ============
  7. **Please note this project is currently under heavy development. It should not be used in production.**
  8. Right now, the officially supported distribution are:
  9. - :ref:`ubuntu_precise`
  10. - :ref:`ubuntu_raring`
  11. Docker has the following dependencies
  12. * Linux kernel 3.8 (read more about :ref:`kernel`)
  13. * AUFS file system support (we are working on BTRFS support as an alternative)
  14. Please read :ref:`ufw`, if you plan to use `UFW (Uncomplicated Firewall) <https://help.ubuntu.com/community/UFW>`_
  15. .. _ubuntu_precise:
  16. Ubuntu Precise 12.04 (LTS) (64-bit)
  17. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  18. This installation path should work at all times.
  19. Dependencies
  20. ------------
  21. **Linux kernel 3.8**
  22. Due to a bug in LXC, docker works best on the 3.8 kernel. Precise
  23. comes with a 3.2 kernel, so we need to upgrade it. The kernel we
  24. install comes with AUFS built in. We also include the generic headers
  25. to enable packages that depend on them, like ZFS and the VirtualBox
  26. guest additions. If you didn't install the headers for your "precise"
  27. kernel, then you can skip these headers for the "raring" kernel. But
  28. it is safer to include them if you're not sure.
  29. .. code-block:: bash
  30. # install the backported kernel
  31. sudo apt-get update
  32. sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
  33. # reboot
  34. sudo reboot
  35. Installation
  36. ------------
  37. Docker is available as a Ubuntu PPA (Personal Package Archive),
  38. `hosted on launchpad <https://launchpad.net/~dotcloud/+archive/lxc-docker>`_
  39. which makes installing Docker on Ubuntu very easy.
  40. .. code-block:: bash
  41. # Add the PPA sources to your apt sources list.
  42. sudo apt-get install python-software-properties && sudo add-apt-repository ppa:dotcloud/lxc-docker
  43. # Update your sources
  44. sudo apt-get update
  45. # Install, you will see another warning that the package cannot be authenticated. Confirm install.
  46. sudo apt-get install lxc-docker
  47. Verify it worked
  48. .. code-block:: bash
  49. # download the base 'ubuntu' container and run bash inside it while setting up an interactive shell
  50. sudo docker run -i -t ubuntu /bin/bash
  51. # type 'exit' to exit
  52. **Done!**, now continue with the :ref:`hello_world` example.
  53. .. _ubuntu_raring:
  54. Ubuntu Raring 13.04 (64 bit)
  55. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  56. Dependencies
  57. ------------
  58. **AUFS filesystem support**
  59. Ubuntu Raring already comes with the 3.8 kernel, so we don't need to install it. However, not all systems
  60. have AUFS filesystem support enabled, so we need to install it.
  61. .. code-block:: bash
  62. sudo apt-get update
  63. sudo apt-get install linux-image-extra-`uname -r`
  64. **add-apt-repository support**
  65. Some installations of Ubuntu 13.04 require ``software-properties-common`` to be
  66. installed before being able to use add-apt-repository.
  67. .. code-block:: bash
  68. sudo apt-get install software-properties-common
  69. Installation
  70. ------------
  71. Docker is available as a Ubuntu PPA (Personal Package Archive),
  72. `hosted on launchpad <https://launchpad.net/~dotcloud/+archive/lxc-docker>`_
  73. which makes installing Docker on Ubuntu very easy.
  74. Add the custom package sources to your apt sources list.
  75. .. code-block:: bash
  76. # add the sources to your apt
  77. sudo add-apt-repository ppa:dotcloud/lxc-docker
  78. # update
  79. sudo apt-get update
  80. # install
  81. sudo apt-get install lxc-docker
  82. Verify it worked
  83. .. code-block:: bash
  84. # download the base 'ubuntu' container and run bash inside it while setting up an interactive shell
  85. sudo docker run -i -t ubuntu /bin/bash
  86. # type exit to exit
  87. **Done!**, now continue with the :ref:`hello_world` example.
  88. .. _ufw:
  89. Docker and UFW
  90. ^^^^^^^^^^^^^^
  91. Docker uses a bridge to manage containers networking, by default UFW drop all `forwarding`, a first step is to enable forwarding:
  92. .. code-block:: bash
  93. sudo nano /etc/default/ufw
  94. ----
  95. # Change:
  96. # DEFAULT_FORWARD_POLICY="DROP"
  97. # to
  98. DEFAULT_FORWARD_POLICY="ACCEPT"
  99. Then reload UFW:
  100. .. code-block:: bash
  101. sudo ufw reload
  102. UFW's default set of rules denied all `incoming`, so if you want to be able to reach your containers from another host,
  103. you should allow incoming connections on the docker port (default 4243):
  104. .. code-block:: bash
  105. sudo ufw allow 4243/tcp