Kernel Requirements =================== If you want to have a full working CRUX+Docker system you will need to rebuild your kernel with the following options enabled: 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_UID_NS - CONFIG_PID_NS - CONFIG_NET_NS Cgroups: - CONFIG_CGROUPS Cgroups Controllers (*optional but highly recommended*): - CONFIG_CGROUP_CPUACCT - CONFIG_BLK_CGROUP - CONFIG_MEMCG - CONFIG_MEMCG_SWAP You may check your kernel configuration by running the provided ``test_kernel_config.sh`` script against your kernel configuration: :: ./test_kernel_config.sh /usr/src/linux/.config Other Requirements ================== You **must** have the following ``cgroup`` mount point mounted: :: none /cgroup cgroup defaults 0 0 Storage Backends ================ Docker comes with three main Storage Backends: - AUFS (*requires AUFS kernel/patches*) - devmapper - btrfs It is recommended you use the devmapper or btrfs backend (Default: devmapper). To use the ``btrfs`` backend edit ``/etc/docker.conf`` and modify the ``DOCKER_OPTS`` with: :: DOCKER_OPTS="-s btrfs" Docker Client ============= The provided Docker rc script changes the group ownership of the ``/var/run/socker.sock`` UNIX Socket to ``docker``. Add yourself to this group if you wish to access the Docker daemon on localhost via UNIX Socker.