Aller au contenu principal

Construction de containers - Buildah

1. Informations​

1.1. buildah1.home.lab​

Caractéristiques
RAM2 Go
CPU2 coeurs
Disque80 Go
IP admin192.168.50.22

2. Documentations​

3. Installation​

3.1. Installer le package buildah​

$ sudo yum install container-tools
$ sudo yum install buildah
$ sudo yum install shadow-utils fuse-overlayfs slirp4netns

3.2. Configurer l'utilisateur $USER​

$ sudo usermod --add-subuids 100000-165536 --add-subgids 100000-165536 $USER

4. Configuration de l'utilisateur​

4.1. Modifier le fichier ~/.bashrc​

  • Modifier le fichier ~/.bashrc
~/.bashrc
export BUILDAH_ISOLATION=oci
export BUILDAH_USE_SLIRP4NETNS=true

4.2. Créer le fichier ~/.config/containers/storage.conf​

$ sudo mkdir -p /data/containers/storage
$ sudo chown $USER:$GROUP /data/containers
$ sudo chown $USER:$GROUP /data/containers/storage
  • Créer le fichier ~/.config/containers/storage.conf
~/.config/containers/storage.conf
[storage]
driver = "overlay"
runroot = "/run/user/$(id -u)/containers"
graphroot = "/data/containers/storage"

[storage.options]
mount_program = "/usr/bin/fuse-overlayfs"
  • Modifier le fichier /etc/fuse.conf
user_allow_other

4.3. Modifier le fichier registries.conf​

  • Modifier le fichier /etc/containers/registries.conf
  • #todo à compléter

5. 5.Construction d'une image​

5.1. Documentations​

5.2. Utiliser Buildah​

buildah from alpine:3.18.4

ou

CONTAINER_ID=$(buildah from alpine:3.18.4)

5.3. Lister les containers​

$ buildah containers

5.4. Exécuter une commande dans une image​

$ buildah run be48c4dce1a2 apk add apache2
$ buildah commit be48c4dce1a2 alpine_apache2:0.1

5.5. Inspecter une image​

$ buildah inspect alpine_apache2:0.1

5.6. Push d'une image dans le registre privé Harbor​

$ buildah login harbor1.home.lab
$ buildah push alpine_apache2:0.1 harbor1.home.lab/factory/apache2:0.1

5.7. Lister les containers​

$ buildah containers

5.8. Supprimer un container​

$ builadh rm <CONTAINER>

5.9. Lister les images​

$ buildah images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/alpine_apache2 0.1 4d922f3832dc 13 minutes ago 13.5 MB
docker.io/library/alpine 3.18.4 8ca4688f4f35 19 months ago 7.63 MB

5.10. Suppression d'une image​

$ buildah rmi <IMAGE_ID>

6. Autres outils​

6.1. Installer le package skopeo​

$ sudo yum install skopeo