Je ne comprends pas la différence entre docker et chroot. Oui, c'est agréable en termes de l'emballage du registre. Mais en quelque sorte, j'ai l'impression que c'est juste chroot avec des cloches et des sifflets supplémentaires.
Je sais que je manque quelque chose. Ce serait formidable de savoir comment ils sont différents et le besoin de docker si chroot pouvait faire quelque chose de similaire.
Je n'ai pas pu trouver ce Chroot Vs Docker assez clair non plus.
docker
linux
containers
Vipin Menon
la source
la source
Réponses:
Eh bien, les cloches et sifflets supplémentaires sont appelés isolation du processus, un conteneur obtient son propre espace de noms du noyau hôte, ce qui signifie que le programme dans le conteneur ne peut pas essayer de lire la mémoire du noyau ou de manger plus de RAM que ce qui est autorisé.
Il isole également les piles du réseau, donc deux processus peuvent écouter sur le port 8080 par exemple, vous devrez gérer le routage au niveau de l'hôte, il n'y a pas de magie ici, mais cela permet de gérer le routage à un endroit et d'éviter de modifier la configuration du processus en écouter un port libre.
Deuxièmement, un chroot est toujours en lecture / écriture, tout changement est permanent, un conteneur docker utilisant
aufs
démarrera à partir d'un système de fichiers propre à chaque lancement du conteneur (les modifications sont conservées si vous l'arrêtez / le démarrez IIRC).Ainsi, alors qu'un conteneur peut être considéré comme
process namespace
+chroot
, la réalité est un peu plus complexe.la source
aufs
n'est plus utilisé par défaut. Maintenant c'estoverlay2
Oui, il y a plus que cela
chroot
au point qu'ils ont peu ou rien en commun.docker image prune
...)docker exec
accéder, etc.)docker container ...
)docker-compose
ou essaimez en tant que mises à niveau discrètes vers bien plus encore.la source