【Linux/docker】 修改iso中img格式文件里的内容,开机自动执行脚本
最近开发需要用到docker,如下图
需要在docker 虚拟机启动时。自动执行一些脚本,如果在docekr虚拟机里面修改的话,重启后,不生效,这时修改修改docker里面的iso文件;
docker虚拟机需要的主要文件
vmdk主要是磁盘文件,一些images,容器等,重启,或者依据vmdk重新创建虚拟机后这些images,容器文件不会消失;现在需要修改iso文件,boot2docekr.iso文件导出,导入到一个linux系统中如下图
第一步:解压出img文件;
将iso文件mout到本地,如下图:
然后将这些文件拷贝到 /root/testiso/iso 目录下
进入boot目录下执行命令 xz -dc initrd.img | cpio -id
第二步: 修改 展开后文件
展开后,需要修改/etc/rc.d/ 目录下的内容,完成虚拟机开机时自动执行脚本的
小编修改了/etc/rc.d/下的内容 加了一个脚本/c/Users/root/start.sh
脚本内容如下:
路径/c/Users/root 为一个windows路径 通过虚拟启动前共享过去如下图
/etc/rc.d/docekr 添加了一条内容,/c/Users/root/start.sh
如下图:
第三步:打包 img文件
打包前先将 /root/testiso/iso/boot 下的initrd.img isolinux vmlinuxz64 文件考出去;
在路径/root/testiso/boot/下执行命令
find . | cpio -c -o | xz -9 --format=lzma > ../initrd.img
在/root/testiso/ 下会生成新的initrd.img文件,将boot下文件清空,initrd.img文件,isolinux 文件,vmlinuxz64k考入boot文件。然后重新打包成iso文件,方法参考下一篇博客;
验证:
将新的boot2docekr2.iso 文件指定为test3启动文件,启动前后效果如下:
重新启动 test3 虚拟机后
多了脚本里面的内容;
查看根目录
多了一个/gaosong 目录.
版权所有,转载请注明出处!