使用rootfs制作docker容器镜像

发布时间 2023-08-11 15:26:46作者: 摩斯电码

参考

制作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#