this method relies on downloading from a remote host to generate the base os but each item is verified
mkdir bookworm
sudo debootstrap bookworm bookworm/ https://deb.debian.org/debian
sudo tar -C bookworm -c . | sudo docker import - bookworm
mkdir noble
sudo debootstrap noble noble/ https://archive.ubuntu.com/ubuntu
sudo tar -C noble -c . | sudo docker import - noble
sudo docker save noble > noble-docker.tar
mkdir rootfs
sudo mount -o loop ubunut-24.04-live-server-amd64.iso rootfs/
gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x46181433FBB75451 0xD94AA3F0EFE21092
gpg --verify rootfs/casper/ubunut-server-minimal.squshfs.gpg rootfs/casper/ubuntu-server-minimal.squashfs
sudo tar -C unsquashfs/ -c . | sudo docker import - noble-iso:24.04
sudo unsquashfs -f -d unsquashfs/ rootfs/casper/ubuntu-server-minimal.squashfs
wget https://github.com/distribution/distribution/releases/download/v3.0.0-alpha.1/registry_3.0.0-alpha.1_linux_amd64.tar.gz
wget https://github.com/distribution/distribution/releases/download/v3.0.0-alpha.1/registry_3.0.0-alpha.1_linux_amd64.tar.gz.sha256
cat registry_3.0.0-alpha.1_linux_amd64.tar.gz.sha256
sha256 registry_3.0.0-alpha.1_linux_amd64.tar.gz
tar fvxz registry_3.0.0-alpha.1_linux_amd64.tar.gz
cd registry
wget https://github.com/distribution/distribution/blob/v3.0.0-alpha.1/cmd/registry/config-dev.yml
sudo ./registry serve config-dev.yml
sudo docker tag noble-iso:24.04 localhost:5000/noble-iso:24.04
sudo docker push localhost:5000/noble-iso:24.04