I created an Android Open Source project that requires to be installed on an Ubuntu machine a lot of tools, packages. In order to facilitate contributions, I want to create a disk-image with all pre-installed tools and configurations. Is there a simple way to do that? Do I need docker?
You could package it as ISO archive (or any other archive like tar, zip, ...) using the Archive Manager from Nautilus' context menu of a file or folder:
Open your Files Manager (Nautilus) and navigate to the location of what you want to package. Right-click on that and select Compress... from the context menu. The window below will appear:
Enter a filename select a format/suffix from the drop-down list on the right. I selected .iso here. On some formats you can set a password or split the archive up into smaller chunks, but ISO does not support any of those Other Options. Then chose a target directory where to place the created archive and click on Create.
Once the archive is created, you can either normally open it using the Archive Manager (file-roller) or you can mount it like a disk image using Archive Mounter.
Therefore navigate to the location of the archive in your Files Manager (Nautilus) and right-click on it. In the context menu, select Open with → Archive Mounter.
It will automatically mount the archive anywhere and you can access it through the list of devices in the left part of Nautilus.
The Archive Mounter should be able to somehow mount most archive formats.
When you created an ISO archive, you also have the additional option to open it with Disk Image Mounter. That one does mount it like a real CD/DVD and uses the mount point
/media/<<YOUR_USERNAME>>/CDROM
.