经过了漫长时间的移植和查询资料,得以解决一下嵌入式docker出现的问题,很多网上的资料全都是复制粘贴复制粘贴,找不到合适的解决方法让人很是苦恼,希望自己总结出的一些解决问题的经验给广大朋友减少一些负担吧!

1.standard文件找不到:

解决方法:

                            tar zcvf xtables /usr/lib64/xtables
                        cp xtables.tar /work/initramfs/
                            需要到同内核同系统的另一台服务器打包在解压

2.需要iptables支持才能启动docker,移植iptables在启动docker错误:

解决方法:

                            docker --iptables=false
                            nohup docker --iptables=false >/1.txt 2>&1 &(后台启动)

3.缺少nat防火墙的网络连接模块:

解决方法:

                            modprobe iptable_nat

4.进入docker镜像出现问题,缺少veth模块,直接加载

解决方法:

                            modprobe veth

5.进入docker镜像文件系统不符合,pivot root invalid argumen

解决方法:

                            cat >/etc/systemd/system/docker.service.d/10-ramdisk.conf <<EOF
                            > [Service]
                            >  Environment=DOCKER_RAMDISK=true
                            >  EOF
                            export DOCKER_RAMDISK=true
                            在kill掉用刚才方法启动的docker,重启就OK了

补充两点有的做完以上步骤,移植的docker就可以使用了,但是偶尔会出现以下的一种问题。
出现缺少的DNS的文件内容,把任何一台的resolv.conf 文件传过去就OK了。

附一张移植后加载的模块驱动: