فهرست منبع

Merge pull request #3618 from shykes/docs-cleanup-install

Docs cleanup install
Andy Rothfusz 11 سال پیش
والد
کامیت
acf43b4da7

+ 12 - 0
docs/sources/articles/index.rst

@@ -0,0 +1,12 @@
+:title: Docker articles
+:description: various articles related to Docker
+:keywords: docker, articles
+
+.. _articles_list:
+
+Contents:
+
+.. toctree::
+   :maxdepth: 1
+
+   security

+ 0 - 0
docs/sources/installation/security.rst → docs/sources/articles/security.rst


+ 1 - 2
docs/sources/index.rst

@@ -12,8 +12,7 @@ dependencies.
 
 
 ``docker`` runs three ways:
 ``docker`` runs three ways:
 
 
-* as a daemon to manage LXC containers on your :ref:`Linux host
-  <kernel>` (``sudo docker -d``)
+* as a daemon to manage LXC containers on your host machine (``sudo docker -d``)
 * as a :ref:`CLI <cli>` which talks to the daemon's `REST API
 * as a :ref:`CLI <cli>` which talks to the daemon's `REST API
   <api/docker_remote_api>`_ (``docker run ...``)
   <api/docker_remote_api>`_ (``docker run ...``)
 * as a client of :ref:`Repositories <working_with_the_repository>`
 * as a client of :ref:`Repositories <working_with_the_repository>`

+ 31 - 6
docs/sources/installation/binaries.rst

@@ -16,15 +16,29 @@ Before following these directions, you should really check if a packaged version
 of Docker is already available for your distribution.  We have packages for many
 of Docker is already available for your distribution.  We have packages for many
 distributions, and more keep showing up all the time!
 distributions, and more keep showing up all the time!
 
 
-Check Your Kernel
------------------
 
 
-Your host's Linux kernel must meet the Docker :ref:`kernel`
-
-Check for User Space Tools
+Check runtime dependencies
 --------------------------
 --------------------------
 
 
-You must have a working installation of the `lxc <http://linuxcontainers.org>`_ utilities and library.
+To run properly, docker needs the following software to be installed at runtime:
+
+- GNU Tar version 1.26 or later
+- iproute2 version 3.5 or later (build after 2012-05-21), and specifically the "ip" utility
+- iptables version 1.4 or later
+- The LXC utility scripts (http://lxc.sourceforge.net) version 0.8 or later
+- Git version 1.7 or later
+- XZ Utils 4.9 or later
+
+
+Check kernel dependencies
+-------------------------
+
+Docker in daemon mode has specific kernel requirements. For details, see
+http://docs.docker.io/en/latest/articles/kernel/
+
+Note that Docker also has a client mode, which can run on virtually any linux kernel (it even builds
+on OSX!).
+
 
 
 Get the docker binary:
 Get the docker binary:
 ----------------------
 ----------------------
@@ -43,6 +57,17 @@ Run the docker daemon
     # start the docker in daemon mode from the directory you unpacked
     # start the docker in daemon mode from the directory you unpacked
     sudo ./docker -d &
     sudo ./docker -d &
 
 
+Upgrades
+--------
+
+To upgrade your manual installation of Docker, first kill the docker daemon:
+
+.. code-block:: bash
+
+   killall docker
+
+Then follow the regular installation steps.
+
 
 
 Run your first container!
 Run your first container!
 -------------------------
 -------------------------

+ 1 - 4
docs/sources/installation/index.rst

@@ -24,12 +24,9 @@ Contents:
    gentoolinux
    gentoolinux
    openSUSE
    openSUSE
    frugalware
    frugalware
-   vagrant
+   mac
    windows
    windows
    amazon
    amazon
    rackspace
    rackspace
    google
    google
-   kernel
    binaries
    binaries
-   security
-   upgrading

+ 0 - 151
docs/sources/installation/kernel.rst

@@ -1,151 +0,0 @@
-:title: Kernel Requirements
-:description: Kernel supports
-:keywords: kernel requirements, kernel support, docker, installation, cgroups, namespaces
-
-.. _kernel:
-
-Kernel Requirements
-===================
-
-In short, Docker has the following kernel requirements:
-
-- Linux version 3.8 or above.
-
-- Cgroups and namespaces must be enabled.
-
-*Note: as of 0.7 docker no longer requires aufs. AUFS support is still available as an optional driver.*
-
-The officially supported kernel is the one recommended by the
-:ref:`ubuntu_linux` installation path. It is the one that most developers
-will use, and the one that receives the most attention from the core
-contributors. If you decide to go with a different kernel and hit a bug,
-please try to reproduce it with the official kernels first.
-
-If you cannot or do not want to use the "official" kernels,
-here is some technical background about the features (both optional and
-mandatory) that docker needs to run successfully.
-
-
-Linux version 3.8 or above
---------------------------
-
-Kernel versions 3.2 to 3.5 are not stable when used with docker.
-In some circumstances, you will experience kernel "oopses", or even crashes.
-The symptoms include:
-
-- a container being killed in the middle of an operation (e.g. an ``apt-get``
-  command doesn't complete);
-- kernel messages including mentioning calls to ``mntput`` or
-  ``d_hash_and_lookup``;
-- kernel crash causing the machine to freeze for a few minutes, or even
-  completely.
-
-Additionally, kernels prior 3.4 did not implement ``reboot_pid_ns``,
-which means that the ``reboot()`` syscall could reboot the host machine,
-instead of terminating the container. To work around that problem,
-LXC userland tools (since version 0.8) automatically drop the ``SYS_BOOT``
-capability when necessary. Still, if you run a pre-3.4 kernel with pre-0.8
-LXC tools, be aware that containers can reboot the whole host! This is
-not something that Docker wants to address in the short term, since you
-shouldn't use kernels prior 3.8 with Docker anyway.
-
-While it is still possible to use older kernels for development, it is
-really not advised to do so.
-
-Docker checks the kernel version when it starts, and emits a warning if it
-detects something older than 3.8.
-
-See issue `#407 <https://github.com/dotcloud/docker/issues/407>`_ for details.
-
-
-Cgroups and namespaces
-----------------------
-
-You need to enable namespaces and cgroups, to the extent of what is needed
-to run LXC containers. Technically, while namespaces have been introduced
-in the early 2.6 kernels, we do not advise to try any kernel before 2.6.32
-to run LXC containers. Note that 2.6.32 has some documented issues regarding
-network namespace setup and teardown; those issues are not a risk if you
-run containers in a private environment, but can lead to denial-of-service
-attacks if you want to run untrusted code in your containers. For more details,
-see `LP#720095 <https://bugs.launchpad.net/ubuntu/+source/linux/+bug/720095>`_.
-
-Kernels 2.6.38, and every version since 3.2, have been deployed successfully
-to run containerized production workloads. Feature-wise, there is no huge
-improvement between 2.6.38 and up to 3.6 (as far as docker is concerned!).
-
-
-
-
-Extra Cgroup Controllers
-------------------------
-
-Most control groups can be enabled or disabled individually. For instance,
-you can decide that you do not want to compile support for the CPU or memory
-controller. In some cases, the feature can be enabled or disabled at boot
-time. It is worth mentioning that some distributions (like Debian) disable
-"expensive" features, like the memory controller, because they can have
-a significant performance impact.
-
-In the specific case of the memory cgroup, docker will detect if the cgroup
-is available or not. If it's not, it will print a warning, and it won't
-use the feature. If you want to enable that feature -- read on!
-
-
-Memory and Swap Accounting on Debian/Ubuntu
--------------------------------------------
-
-If you use Debian or Ubuntu kernels, and want to enable memory and swap
-accounting, you must add the following command-line parameters to your kernel::
-
-    cgroup_enable=memory swapaccount=1
-
-On Debian or Ubuntu systems, if you use the default GRUB bootloader, you can
-add those parameters by editing ``/etc/default/grub`` and extending
-``GRUB_CMDLINE_LINUX``. Look for the following line::
-
-    GRUB_CMDLINE_LINUX=""
-
-And replace it by the following one::
-
-    GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
-
-Then run ``update-grub``, and reboot.
-
-Details
--------
-
-To automatically check some of the requirements below, you can run `lxc-checkconfig`.
-
-Networking:
-
-- CONFIG_BRIDGE
-- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE
-- CONFIG_NF_NAT
-- CONFIG_NF_NAT_IPV4
-- CONFIG_NF_NAT_NEEDED
-
-LVM:
-
-- CONFIG_BLK_DEV_DM
-- CONFIG_DM_THIN_PROVISIONING
-- CONFIG_EXT4_FS
-
-Namespaces:
-
-- CONFIG_NAMESPACES
-- CONFIG_UTS_NS
-- CONFIG_IPC_NS
-- CONFIG_PID_NS
-- CONFIG_NET_NS
-
-Cgroups:
-
-- CONFIG_CGROUPS
-
-Cgroup controllers (optional but highly recommended):
-
-- CONFIG_CGROUP_CPUACCT
-- CONFIG_BLK_CGROUP
-- CONFIG_MEMCG
-- CONFIG_MEMCG_SWAP

+ 27 - 9
docs/sources/installation/vagrant.rst → docs/sources/installation/mac.rst

@@ -1,16 +1,14 @@
-:title: Using Vagrant (Mac, Linux)
-:description: This guide will setup a new virtualbox virtual machine with docker installed on your computer.
-:keywords: Docker, Docker documentation, virtualbox, vagrant, git, ssh, putty, cygwin
+:title: Installing Docker on a Mac
+:description: Installing Docker on a Mac
+:keywords: Docker, Docker documentation, virtualbox, git, ssh
 
 
 .. _install_using_vagrant:
 .. _install_using_vagrant:
 
 
-Using Vagrant (Mac, Linux)
+Installing Docker on a Mac
 ==========================
 ==========================
 
 
-This guide will setup a new virtualbox virtual machine with docker
-installed on your computer. This works on most operating systems,
-including MacOSX, Windows, Linux, FreeBSD and others. If you can
-install these and have at least 400MB RAM to spare you should be good.
+This guide explains how to install a full Docker setup on your Mac,
+using Virtualbox and Vagrant.
 
 
 Install Vagrant and Virtualbox
 Install Vagrant and Virtualbox
 ------------------------------
 ------------------------------
@@ -67,8 +65,28 @@ To access the VM and use Docker, Run ``vagrant ssh`` from the same directory as
 
 
    vagrant ssh
    vagrant ssh
 
 
+
+Upgrades
+--------
+
+Since your local VM is based on Ubuntu, you can upgrade docker by logging in to the
+VM and calling ``apt-get``:
+
+
+.. code-block:: bash
+
+   # Log into the VM
+   vagrant ssh
+
+   # update your sources list
+   sudo apt-get update
+
+   # install the latest
+   sudo apt-get install lxc-docker
+
+
 Run
 Run
------
+---
 
 
 Now you are in the VM, run docker
 Now you are in the VM, run docker
 
 

+ 15 - 0
docs/sources/installation/ubuntulinux.rst

@@ -167,6 +167,21 @@ Type ``exit`` to exit
 
 
 **Done!**, now continue with the :ref:`hello_world` example.
 **Done!**, now continue with the :ref:`hello_world` example.
 
 
+Upgrades
+--------
+
+To install the latest version of docker, use the standard ``apt-get`` method:
+
+
+.. code-block:: bash
+
+   # update your sources list
+   sudo apt-get update
+
+   # install the latest
+   sudo apt-get install lxc-docker
+
+
 .. _ufw:
 .. _ufw:
 
 
 Docker and UFW
 Docker and UFW

+ 0 - 73
docs/sources/installation/upgrading.rst

@@ -1,73 +0,0 @@
-:title: Upgrading
-:description: These instructions are for upgrading Docker
-:keywords: Docker, Docker documentation, upgrading docker, upgrade
-
-.. _upgrading:
-
-Upgrading
-=========
-
-The technique for upgrading ``docker`` to a newer version depends on
-how you installed ``docker``.
-
-.. versionadded:: 0.5.3
-   You may wish to add a ``docker`` group to your system to avoid using sudo with ``docker``. (see :ref:`dockergroup`)
-
-
-After ``apt-get``
------------------
-
-If you installed Docker using ``apt-get`` or Vagrant, then you should
-use ``apt-get`` to upgrade.
-
-.. versionadded:: 0.6
-   Add Docker repository information to your system first.
-
-.. code-block:: bash
-
-   # Add the Docker repository key to your local keychain
-   sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
-
-   # 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 list
-   sudo apt-get update
-
-   # install the latest
-   sudo apt-get install lxc-docker
-
-
-After manual installation
--------------------------
-
-If you installed the Docker :ref:`binaries` then follow these steps:
-
-
-.. code-block:: bash
-
-   # kill the running docker daemon
-   killall docker
-
-
-.. code-block:: bash
-
-   # get the latest binary
-   wget http://get.docker.io/builds/Linux/x86_64/docker-latest -O docker
-   
-   # make it executable
-   chmod +x docker
-
-
-Start docker in daemon mode (``-d``) and disconnect, running the
-daemon in the background (``&``). Starting as ``./docker`` guarantees
-to run the version in your current directory rather than a version
-which might reside in your path.
-
-.. code-block:: bash
-
-   # start the new version
-   sudo ./docker -d &
-
-
-Alternatively you can replace the docker binary in ``/usr/local/bin``.

+ 2 - 2
docs/sources/installation/windows.rst

@@ -4,8 +4,8 @@
 
 
 .. _windows:
 .. _windows:
 
 
-Using Vagrant (Windows)
-=======================
+Installing Docker on Windows
+============================
 
 
 Docker can run on Windows using a VM like VirtualBox. You then run
 Docker can run on Windows using a VM like VirtualBox. You then run
 Linux within the VM.
 Linux within the VM.

+ 2 - 0
docs/sources/toctree.rst

@@ -15,6 +15,8 @@ This documentation has the following resources:
    use/index
    use/index
    examples/index
    examples/index
    reference/index
    reference/index
+   commandline/index
    contributing/index
    contributing/index
    terms/index
    terms/index
    faq
    faq
+   articles/index