使用Linux内核4.3.0运行docker得到了iptables nat错误

我升级我的debian内核到4.3.0

root @ qa-control-nce-yuztest1:/usr/src/kernels/linux-4.3# uname -a
Linux qa-control-nce-yuztest1 4.3.0#1 SMP Thu Dec 10 00:47:22 CST 2015 x86_64 GNU / Linux

bug发现docker守护程序哈

root@qa-control-nce-yuztest1:/usr/src/kernels/linux-4.3# docker -d Warning: '-d' is deprecated, it will be removed soon. See usage. WARN[0000] please use 'docker daemon' instead. WARN[0000] Udev sync is not supported. This will lead to unexpected behavior, data loss and errors. For more information, see https://docs.docker.com/reference/commandline/daemon/#daemon-storage-driver-option INFO[0000] API listen on /var/run/docker.sock WARN[0000] Usage of loopback devices is strongly discouraged for production use. Please use `--storage-opt dm.thinpooldev` or use `man docker` to refer to dm.thinpooldev section. INFO[0000] [graphdriver] using prior storage driver "devicemapper" FATA[0000] Error starting daemon: Error initializing network controller: error obtaining controller instance: Failed to create NAT chain: iptables failed: iptables -t nat -N DOCKER: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. (exit status 3) 

似乎iptables nat表不存在,但我不知道如何处理。

需要你的帮助,提前致谢!

你需要一个configuration了iptables nat的内核。 我怀疑是因为你自己升级了内核,这意味着你没有使用发行版提供的内核? 在这种情况下,你可能是从零开始configuration它,并没有启用iptables nat。

当运行config('make menuconfig')时,search'_nat',并通过它查找iptables natconfiguration,并启用它。