Docker

Commandes utiles

Supprimer les conteneurs terminés : docker rm -v $(docker ps -a -q -f status=exited)

Supprimer toutes les images non-nommées : docker rmi $(docker images -q -f dangling=true)

Sécurité

On peut utiliser les capabitilies pour autoriser certaines fonctions du noyau Linux. Il suffit pour cela de préciser une liste de capacités à ajouter ou à retirer par rapport à la liste par défaut.

User Namespace

Pré-requis du kernel

  • Kernel 3.5 minimum, considéré comme stable en 4.3
  • Si le user namespace n’est pas activé, il faut ajouter cette option : user_namespace.enable=1 (requis sur CentOS 7)

Configuration de Docker

L’activation du userns dans Docker se fait via l’argument --userns-remap à passer au daemon Docker. Cet argument prend en paramètre des UID/GID ou directement des noms d’utilisateur et de group. Si on passe default en paramètre, l’utilisateur et le groupe utilisé sera dockremap.

L’utilisateur passer en argument devra exister, il faut donc le créer : useradd dockremap.

Créer les fichiers /etc/subuid et /etc/subgid avec le mapping. Exemple de mappings :

dockremap:100000:65536

Pour désactiver le user namespace pour un conteneur, il faut ajouter l’option --userns=host lors du run.

Liens

Images

Images de demo :

Programmes

Ressources