参考
- 基于rootfs构建Docker镜像
- 将rootfs.tar.gz制作成docker image
- 基于rootfs制作镜像
- How to Create Your Own Docker Base Images From
制作rootfs
这里为了简化,直接使用dracut生成initramfs。
- 生成initramfs
# dracut -H --keep initramfs.img Not removing /var/tmp/dracut.jWcnS1.
上面除了生成initramfs镜像,还会保留中间结果:
# ls /var/tmp/dracut.jWcnS1/initramfs bin dev etc init lib lib64 proc root run sbin shutdown sys sysroot tmp usr var
- 生成压缩包
# cd /var/tmp/dracut.jWcnS1/initramfs/ [root@localhost initramfs]# ls bin dev etc init lib lib64 proc root run sbin shutdown sys sysroot tmp usr var [root@localhost initramfs]# tar -czf initramfs.tar.gz *
导入
# docker import initramfs.tar.gz test:v1 sha256:96d6e01e4c47d3752f19fe734baa4a7da49b3f5df6cb61d2515e99d625f61f50
启动容器
[root@localhost initramfs]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE test v1 96d6e01e4c47 43 seconds ago 71.3MB [root@localhost initramfs]# docker run -it --name demo test:v1 /bin/bash bash-5.2# bash-5.2#