经过了漫长时间的移植和查询资料,得以解决一下嵌入式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了。
附一张移植后加载的模块驱动: