Table des matières
Notes Podman
Voir :
/etc/containers/
Rootless : https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md
Installez slirp4netns (va être remplacé par pasta à partir de Podman 5)
apt-get install slirp4netns
Ensuite, configurez une quantité d'espaces de noms réseau définis par l'utilisateur :
echo "user.max_user_namespaces=28633" > /etc/sysctl.d/userns.conf sysctl -p /etc/sysctl.d/userns.conf
Cette commande permet d'utiliser les espaces de noms réseau sans être root.
Conf registry
/etc/containers/registries.conf
[registries.search] registries = ['docker.io', 'quay.io', 'ghcr.io'] [registries.insecure] registries = []
Exemple
podman build -t jibe/dokuwiki --build-arg http_proxy="$http_proxy" --build-arg https_proxy="$https_proxy" -f Containerfile . podman run -a stdout --rm --name=dokuwiki1 -v $PWD/tmp/dokuwiki/data/:/var/www/wiki/www/data -v $PWD/tmp/dokuwiki/conf/:/var/www/wiki/www/conf -m 512m -p 8082:8080 jibe/dokuwiki
Contener - entrypoint
$ podman run --entrypoint /usr/bin/echo -ti --rm debian -e 'Test1\nTest2' Test1 Test2
#podman generate systemd --restart-policy=always -t 1 dokuwiki1 #podman generate systemd --restart=always -t 1 dokuwiki1 # podman generate systemd --new --files --name httpd # quadlet ?
Autre
echo 1 > /proc/sys/kernel/unprivileged_userns_clone
Conf UIDMAP
| Colonne | Description |
|---|---|
| 1 | Nom de l'utilisateur système sur le hôte |
| 2 | Numéro d'UID sur le hôte correspondant à l'UID 0 du NS |
| 3 | Plage; notre d'UID à l'intérieur du NS |
/etc/subuid
jean:100000:65536 test:165536:65536 plop:231072:65536 k8s:296608:65536
/etc/subgid
jean:100000:65536 test:165536:65536 plop:231072:65536 k8s:296608:65536
Commandes utiles
Afficher tous les mappages de ports de conteneur utilisés
podman port -a
Pour un container particulier
podman port ctn-app1
Réseau
Podman prend en charge 2 réseaux backend pour les conteneurs : Netavark et CNI.
Pour vérifier quel backend réseau est utilisé :
$ podman info --format {{.Host.NetworkBackend}}
netavark
Pour modifier le backend réseau, définissez la configuration dans /usr/share/containers/containers.conf :
[network] [...] # Network backend determines what network driver will be used to set up and tear down container networks. # Valid values are "cni" and "netavark". network_backend = "netavark"
La commande podman network create créer un réseau compatible DNS.
Création d’un réseau appelé db_network en spécifiant le sous-réseau 10.87.0.0/24 et la passerelle 10.87.0.1 :
podman network create --gateway 10.87.0.1 --subnet 10.87.0.0/24 db_network
La commande podman network inspect affiche les informations sur un réseau spécifique
La commande podman run --network permet d’ajouter le réseau DNS db_network à un nouveau conteneur
Re appliquer les règles réseau Podman
podman network reload
Avant cette commande il faillait faire un restart des containers.
A common problem is that reloading the firewall deletes the netavark iptables rules resulting in a loss of network connectivity for rootful containers.
