SE4CreationConteneur
Création d'un conteneur
Le but de cette première manipulation est la création d'un conteneur pas à pas sous Linux.
Le système de fichiers
La première étape est de créer un système de fichiers isolé par rapport au système de la machine hébergeur :
- commencez par créer un fichier
disk.img
de 10Go sur la station de travail, pour cela vous utiliserez la commandedd
, comme fichier source utilisez le générateur de zéro/dev/zero
et les optionsbs
(block size) etcount
; - en tant qu'administrateur créez un système de fichiers sur
disk.img
avec la commandemkfs
(make filesystem), vous pouvez utilisez le système de fichiersext4
; - toujours en tant qu'administrateur, montez le système de fichiers
disk.img
sur un répertoire vide (par exemple/tmp/disk
que vous aurez préalablement créé) ; - vous pouvez enfin installez un système de fichiers Linux minimal sur votre partition virtuelle par la commande
debootstrap stable /dev/disk
.
Lancement du conteneur
Lancez le conteneur avec la commande du cours. Dans un premier temps n'utilisez que les options -p -m
. Vérifiez que les processus du conteneur sont bien isolés, de même pour les montages de systèmes de fichiers. Regardez les interfaces réseau du conteneur, conclusion ? Sortez du conteneur, relancez-le en ajoutant les options -n -u
. Vérifiez à nouveau les interfaces réseau du conteneur, conclusion ?
Laissez le conteneur tourner dans son terminal de commande, n'en sortez plus.
Création d'une interface réseau
Créez un commutateur virtuel vide d'interfaces avec les commandes présentées en cours. Créez une interface Ethernet virtuelle avec les commandes présentées en cours. Trouvez le PID du processus unshare
du conteneur et déplacez le pair de l'interface Ethernet virtuel dans l'espace de nom du conteneur.
Démarrez toutes les interfaces réseau avec la commande ip link set <IF> up
, mettez une adresse IPv4 sur le commutateur virtuelle (e.g. 192.168.0.1/24
) et sur le pair dans le conteneur (e.g. 192.168.0.2/24
), vérifiez la connexion entre les deux interfaces virtuelles.
Sortie sur Internet
Utilisez les commandes vue en cours pour créer une mascarade sur la station de travail pour le réseau du conteneur. Vérifiez que le conteneur a bien accès aux même machines que la station de travail.