Pourquoi Discourse — je n’ai essayé aucun autre conteneur, ni Ubuntu ni Docker ne sont mon arme de choix — implique-t-il d’autres utilisateurs (tous les utilisateurs réguliers ?) ?
Lorsque je démarre Discourse, un certain nombre de processus sont démarrés pour un utilisateur que je ne pensais pas avoir quoi que ce soit à voir avec discourse/conteneur, c’est certainement l’utilisateur depuis lequel je fais sudo pour le déploiement de Discourse. Ici :
unicorn_launche─┬─ruby─┬─ruby───23*[{ruby}]
│ ├─8*[ruby───8*[{ruby}]]
│ └─7*[{ruby}]
└─sleep
-\u003e $ ps -Fp 8794
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
appmgr 8794 8792 0 3829 4320 2 12:17 ? 00:00:00 /bin/bash config/unicorn_launcher -E production -c config/unicorn.conf.rb
-\u003e $ ps -Fp 8792
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 8792 8788 0 562 684 4 12:17 ? 00:00:00 runsv unicorn
Est-ce que ce que je vois/obtiens est valide et légitime ? Si oui, où trouver des pages de manuel qui en diraient plus à ce sujet ? Je suis encore nouveau en tant qu’administrateur système Ubuntu/Docker/Discourse.
Lorsque vous visualisez des processus en dehors du conteneur, les processus liés à Discourse s’affichent sous l’utilisateur dont l’UID est 1000 sur l’hôte.
La raison pour laquelle cela se produit est que les processus à l’intérieur du conteneur s’exécutent sous l’UID 1000 du conteneur.
C’est juste une bizarrerie de la façon dont fonctionnent les conteneurs Docker.
Unicorn est ce qui sert les pages. Ruby est le langage dans lequel Discourse est écrit. Vous pouvez voir que le lanceur Unicorn a démarré tous ces processus.
Si vous regardez ce qui tourne sur votre ordinateur Windows ou Mac, vous ne savez pas non plus ce que sont toutes ces choses.
Je ne suis vraiment pas sûr de la façon dont vous pourriez apprendre cela. Peut-être la documentation de Rails ? Pour un nouvel administrateur système, il y a beaucoup d’autres choses qui sont plus susceptibles d’être utiles.
Peut-être que je l’ai laissé un peu vague - ce qui m’a intrigué, c’est l’utilisateur auquel appartiennent (certains) processus. Les outils que j’utilise pour les conteneurs et que je rends tous mes conteneurs sans root — à moins que les exigences réseau ne le rendent impossible — ceux-ci rendent le mappage agréable et clair entre/depuis les UID réels et les subUIDs, on peut voir clairement ce qui est quoi. Merci @ClawdiaWolf. J’aimerais que cela figure dans la documentation officielle (pas seulement dans le code).