虚拟机ova或vmdk文件转成docker镜像文件

目前网上流传的直接将虚拟机ova文件利用docker import 导入生成docker镜像无法使用


将vmdk格式文件转换成raw格式

ova格式里面包含vmdk文件,可以解压出来

qemu-img convert -f vmdk -O raw ubuntu.vmdk ubuntu.raw

利用guestfish工具检查文件系统并压缩打包

先读入raw文件,注意可能需要root权限

sudo guestfish -a /mnt/hgfs/workplace/ubuntu.raw  --ro

#  挂载磁盘到/,可以多次挂载卸载测试看看root目录
mount /dev/ubuntu-vg/ubuntu-lv /

# 卸载命令
unmount /

# 打包压缩
tar-out  / - | xz --best >> ubuntu.xz

利用docker命令导入压缩包

cat ubuntu.xz | docker import - ubuntu-server:v0.1

# 运行镜像

docker run -it ubuntu-server:v0.1 /bin/bashs

将运行中的系统打包

#卸载不必要的文件工具
sudo vmware-uninstall-tools.pl
sudo apt-get remove open-vm-tools
sudo apt-get remove --auto-remove open-vm-tools
sudo apt-get purge open-vm-tools
sudo apt-get purge --auto-remove open-vm-tools
# 排除不必要的包,运行系统中最好不要安装docker
sudo tar --numeric-owner --exclude=/proc --exclude=/sys --exclude=/mnt --exclude=/var/cache --exclude=/usr/share/foomatic,backgrounds,perl5,fonts,cups,qt4,groff,kde4,icons,pixmaps,emacs,gnome-background-properties,sounds,gnome,games,desktop-directories --exclude=/var/log -zcvf  /mnt/ubuntu.tar /

posted on   消失的森林  阅读(1743)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示