Usuário de outros (todos?) sistemas envolvido de alguma forma?

Olá pessoal.

Por que o Discourse — não experimentei nenhum outro contêiner, nem Ubuntu nem Docker são minha arma de escolha — envolve outros usuários (todos regulares?)?

Quando inicio o Discourse, vários processos são iniciados em nome de um usuário que eu não achava que tinha algo a ver com o Discourse/contêiner, certamente é o usuário do qual eu faço sudo para a implantação do Discourse. Aqui:

unicorn_launche─┬─ruby─┬─ruby───23*[{ruby}]
                │      ├─8*[ruby───8*[{ruby}]]
                │      └─7*[{ruby}]
                └─sleep
-> $ 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
-> $ 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

Isso que eu vejo/obtenho é válido e legítimo? Se sim, onde encontraria alguns man pages que lançassem mais luz sobre isso? Sou sysadmin de Ubuntu/Docker/Discourse, mas ainda sou novo nisso.

Quando você visualiza processos fora do contêiner, ele mostrará os processos relacionados ao Discourse rodando como o usuário que é UID 1000 no host.

A razão pela qual isso acontece é porque os processos dentro do contêiner estão rodando sob o UID 1000 do contêiner. :slight_smile:

É apenas uma peculiaridade estranha de como os contêineres Docker funcionam. :slight_smile:

2 curtidas

Sim. Isso é esperado.

O Unicorn é o que serve as páginas. Ruby é a linguagem em que o Discourse é escrito. Você pode ver que o lançador do Unicorn iniciou todos esses processos.

Se você olhar o que está rodando no seu computador Windows ou Mac, você também não sabe o que são todas essas coisas. :person_shrugging:

Eu realmente não tenho certeza de como você faria para aprender isso. Talvez a documentação do Rails? Para um novo administrador de sistema, há muitas outras coisas que são mais prováveis de serem úteis.

2 curtidas

Talvez eu tenha deixado um pouco vago - o que me intrigou foi o usuário a quem (alguns) processos pertencem. Ferramentas que uso para contêineres e faço todos os meus contêineres sem root — a menos que os requisitos de rede o tornem impossível — essas tornam o mapeamento bom e claro entre/de UIDs reais e subUIDs, uma vez que se pode ver claramente o que é o quê. Obrigado @ClawdiaWolf. Gostaria que isso estivesse na documentação oficial (não apenas no código).

2 curtidas

Também foi discutido aqui:

:slight_smile:

4 curtidas