È normale essere in grado di uccidere un processo dall'esterno di un contenitore?

0

Situazione: su user@host a qemu esegui e impila all'interno di un contenitore user@container

È normale:

  • per visualizzare con ps aux | grep qemu da user@host che il processo viene eseguito su user@container ?

  • essere in grado di rendere sudo kill -9 pid del processo nel contenitore user@container dall'host user@host ?

posta aurelien 20.07.2018 - 07:47
fonte

1 risposta

3

Sì, lo è. I processi Docker su Linux sono in modalità sandbox in modo che non possano influenzare il resto del sistema, ma il resto del sistema è libero di interagire con loro come vuole. Sono ancora in esecuzione sullo stesso kernel, sullo stesso file system (anche se ne possono vedere solo una parte limitata), ecc. Docker non è una VM; i processi in esecuzione all'interno del contenitore sono in esecuzione sullo stesso sistema operativo di quelli esterni al contenitore.

Dato questo, sarebbe molto strano se non potessi elencare e uccidere i processi contenuti (al di fuori del contenitore, e assumendo che tu abbia abbastanza privilegi). Proprio come è possibile elencare e terminare i processi sandbox di Chrome da una normale shell OS con privilegi, anche se la sandbox di Chrome impedisce a questi processi di fare qualsiasi cosa, così si possono elencare ed eliminare i processi contenuti in Docker da una shell con privilegi normali. I processi in un contenitore non sono in grado di interagire con quelli al di fuori di esso, compresi quelli in altri contenitori, ma i processi non contenuti non hanno problemi a raggiungere "dentro" un contenitore.

    
risposta data 20.07.2018 - 09:16
fonte

Leggi altre domande sui tag