[go: up one dir, main page]

Skip to content

Sabayon/docker-base-amd64

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sabayon Base Docker image

The purpose of this project is to provide an image of Sabayon base.

A base image doesn't contain kernel, just the minimal stage3 of gentoo converted in Sabayon

It is just a gentoo stage3 + entropy

UPDATE: Images are also on Docker Hub sabayon/base-amd64 and the already squashed image, sabayon/base-amd64-squashed

First steps on docker

Ensure to have the daemon started and running:

sudo systemctl start docker

Building sabayon-base locally

git clone https://github.com/mudler/docker-sabayon-base-amd64.git docker-sabayon-base
cd docker-sabayon-base
sudo docker build -t sabayon/base-amd64 .

Pulling sabayon-base from Docker Hub

sudo docker pull sabayon/base-amd64

Converting the image from Docker to use it with Molecules

Only with undocker, without squashing the layers

After pulling the docker image, install undocker and then as root:

docker save sabayon/base-amd64:latest | undocker -i -o base sabayon/base-amd64:latest

You can also squash the image with docker-squash and then extract your layers.

sudo docker save sabayon/base-amd64:latest | sudo TMPDIR=/dev/shm docker-squash -t sabayon/base-amd64:squashed > /your/prefered/path/base.tar

You can replace /dev/shm with your prefered tmpdir

With undocker, but squashing the layers

The squash can also been accomplished creating a container from the image, exporting it and then importing it back.

sudo docker run -t -i sabayon/base-amd64:latest /bin/bash
$ exit # You should drop in a shell, exit, you should see a container id, otherwise find it :
sudo docker ps -l
sudo docker export <CONTAINER ID> | docker import - sabayon/base-amd64:squashed
docker save sabayon/base-amd64:squashed | undocker -i -o base sabayon/base-amd64:squashed

Docker will loose the history revision and then you can estract the layer, using as base for chroot.

You now have the tree on the base/ directory

If you are planning to use the resulting files as a chroot, don't forget to set a nameserver on resolv.conf file

echo "nameserver 208.67.222.222" > base/etc/resolv.conf