you how to build your own linux. I've using it for too many years as my O.S. After configured it's fully functional, but it's not for all people. It's for ones that want to know how things works inside, and are ready to pay the price for it. What price ?... well, let's go ahead with docker instalation and you will see.My docker knowledge I'm really new to docker game, until now I've no knowledge of go lang, and only searched a little about docker. After some reading I decided it's a nice tool and I need to know it more and test it in some of my projects. The docker project seems to be well documented, and the README file in source says some good tips to go ahead. so let's move on.Installing docker In some distros docker seems to be too simple to install, just:wget -qO- https://get.docker.com/ | shDo not work for me, but give me tips.One is the reference of instalation documents:https://docs.docker.com/en/latest/installation/It can help you, for me I did select "Binaries".It is a nice tutorial, but lacks important info like kernel compilation features and real dependencies.so, let's resume:Dependency: linux kernel options:Docker needs linux kernel 3.10+Docker needs kernel with:CONFIG_CGROUP_*CONFIG_BRIDGE=mCONFIG_AUFS_FS=m (patch from aufs3)CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=mCONFIG_VETH=m bridge-utils ( for CONFIG_BRIDGE kernel options)DO NOT use built-in(eg: y), use modules(m) in kernel.If you are using kernel option "CONFIG_IKCONFIG=y", you can see the current kernel options using:cat /proc/config.gz | gunziporzcat /proc/config.gz Dependency: AUFS and AUFS-AUFS(http://aufs.sf.net) is not a option in kernel, so you need to download and patch the kernel, it's not a hard task, only git clone it:git clone git://git.code.sf.net/p/aufs/aufs3-standalone and see the README file. It shows to you how to patch you kernel.(use the command "patch -Np1 -i file.patch" in kernel source dir to apply path)You will need the aufs-utils too:git clone git://git.code.sf.net/p/aufs/aufs-utilIf you do not make things right, this happens(about aufs):$docker -D -d...WARN[0000] WARNING: Udev sync is not supported. This will lead to unexpected behavior, data loss and errors DEBU[0000] devicemapper: udev sync support: false ...FATA[0000] Error running DeviceCreate (CreatePool) dm_task_run failed NOTE: do not forget aufs-util or you will fall in error (explained later)Dependency: BRIDGEkernel options CONFIG_BRIDGE and bridge-utils is mandatory.If your bridge module (bridge.ko) is not correctly installed, the docker daemon will not start:$ docker -D -dINFO[0000] +job serveapi(unix:///var/run/docker.sock) WARN[0000] graphdriver aufs selected. Warning: your graphdriver directory /var/lib/docker already contains data managed by other graphdrivers: devicemapper DEBU[0000] Using graph driver aufs DEBU[0000] Migrating existing containers DEBU[0000] Creating images graph DEBU[0000] Restored 0 elements DEBU[0000] Creating repository list INFO[0000] +job init_networkdriver() DEBU[0000] Creating bridge docker0 with network 172.17.42.1/16 DEBU[0000] setting bridge mac address = true package not installedINFO[0000] -job init_networkdriver() = ERR (1) FATA[0000] package not installed iptables failure:You problally forget "CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m".Success on run docker daemonSo, after this we can start de docker daemon:INFO[0000] +job serveapi(unix:///var/run/docker.sock) DEBU[0000] Using graph driver aufs DEBU[0000] Migrating existing containers DEBU[0000] Creating images graph DEBU[0000] Restored 0 elements DEBU[0000] Creating repository list INFO[0000] +job init_networkdriver() DEBU[0000] /sbin/iptables, [-C POSTROUTING -t nat -s 172.17.42.1/16 ! -o docker0 -j MASQUERADE] INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) DEBU[0000] Registering GET,