2017-09-14 1 views
3

je ne pouvais trouver réponse claire à cette question, mais voici:ulimits dans l'hôte docker vs conteneur

Disons que j'ai un hôte qui a des fichiers ouverts max 1024:

[[email protected]]# ulimit -a 
open files      (-n) 1024 

et un conteneur docker fonctionnement dans cet hôte avec:

[[email protected]]# ulimit -a 
open files      (-n) 1048576 

donc je vais avoir un problème dans le récipient si je vais essayer d'ouvrir plus de 1024 fichiers? Je pense que la limite réelle dans ce cas pour le conteneur sera de 1024 fichiers. Ce que tu penses?

Répondre

3

La limite réelle sera 1048576.

Jetez un oeil à la partie droite de cette image, qui montre que les conteneurs sont essentiellement des processus isolés, en cours d'exécution sur le même système d'exploitation:

Containers vs. VMs

Comme chaque appel système dans le conteneur sera géré directement par le système d'exploitation hôte, l'ulimit affiché (1048576) provient directement du système d'exploitation hôte et c'est la valeur qui sera utilisée. La différence dans les ulimits pourrait avoir été provoquée par a Docker configuration, par exemple.

(Notez que pour machines virtuelles, ce sera différent: Le système d'exploitation invité peut afficher une valeur de 1.048.576, mais les appels ouverts seront à la fin être pris en charge par le système d'exploitation hôte, qui imposera la limite de 1024)