DEV Community

Sofiane Hamlaoui
Sofiane Hamlaoui

Posted on • Originally published at Medium on

Convert ISO images to docker images

🐳 Convert ISO images to docker images

Yep! I was looking for a method or a trick to convert ISO files to docker images, It was hard to find one ! But the only one was not really explained and lacking some information. So here we are !!

Choosing the ISO file :

Well before starting the process ! Keep in mind that you have to use a live disc , means a bootable version of the operating system.

Before Starting ! :

In this tutorial/story, I’ll use Ubuntu 18.04.3 LTS’s live disc ISO,

Keywords :

Requirments :

  • squashfs-tools : install squashfs-tools in your system
  • Downlading the LiveCD ISO version

ISO file downloaded & squashfs-tools installed

Let’s start ! :

1- Start by creating the 2 folders (rootfs and unsquashfs)

$: mkdir rootfs unquashfs

Creating rootfs & unsquashfs folders

2- mount your ISO file to the rootfs folder as a loop device

$: sudo mount -o loop ubuntu-18.04.3-desktop-amd64.iso rootfs

Mounting the ISO file

3- Find the filesystem.squashfs file

$: find . -type f | grep filesystem.squashfs

Finding the filesystem.squashfs file

4- use unsquashfs to extract filesystem files to the unsquashfs folder (that would take between 5–10mins)

$: sudo unsquashfs -f -d unsquashfs/ rootfs/casper/filesystem.squashfs

Extractingthe filesystem files to the unsquashfs folder

5- compress and import the image using docker (that would take some time 10–20 mins)

$: sudo tar -C unsquashfs -c . | docker import - sofiane/myimg

6- you will get a sha256 hash (somthing like this )


Compressing then importing the image using docker

7- test your docker image :

$:docker run -h ubuntu -i -t sofiane/myimg bash

Docker images

Your docker image is READY!

And here you go !

Thank you for reading,

My Twitter :

Sofiane Hamlaoui

My Github :

SofianeHamlaoui - Overview

Support me :

Top comments (1)

sohojmanush profile image

How do I convert a non live CD into a docker image? I have a distro for RPI (install only), which doesn't contains any squashfs filesystem.