GNU/Linux >> Linux Esercitazione >  >> Linux

gdb non raggiunge alcun punto di interruzione quando lo eseguo dall'interno del contenitore Docker

aggiornamento 2020.01.04:usa la risposta data da Kevin W Matthews --- è meglio perché garantisce le capacità individuali necessarie senza elevare l'intero contenitore.

tldr; usa

docker run --privileged

Più lungo:stavo riscontrando alcuni problemi con gdb nella finestra mobile:stava tentando (e fallendo) di disabilitare la randomizzazione del layout dello spazio degli indirizzi, ma solo su docker-machine , non sul mio host Linux nativo.

Quando gdb non è riuscito a disabilitare ASLR, tutti i miei punti di interruzione sarebbero stati ignorati. Usando il --privileged flag ha risolto il mio problema. Il tuo chilometraggio può variare.


Invece di elevare l'intero contenitore, sono stato in grado di utilizzare l'opzione

--security-opt seccomp=unconfined

per correggere i problemi di randomizzazione dello spazio degli indirizzi.

Alcuni consigliano anche di abilitare il ptrace funzionalità con

--cap-add=SYS_PTRACE

ma questo non sembrava avere alcun effetto per me.

Ecco le stesse impostazioni per la composizione Docker:

security_opt:
  - seccomp:unconfined
cap_add:
  - SYS_PTRACE

I dettagli sono tratti da questo post di Stack Overflow.


Linux
  1. Come eseguire un comando all'interno di un contenitore Systemd in esecuzione?

  2. La finestra mobile può essere eseguita all'interno di un contenitore Linux?

  3. Esecuzione della finestra mobile su Ubuntu:il volume host montato non è scrivibile dal contenitore

  4. Il volume Docker non monta alcun file

  5. Perché il contenitore docker richiede Autorizzazione negata?

Come aggiungere utenti al contenitore Docker?

Come eseguire un cron job all'interno di un contenitore docker

Docker non aggiorna le modifiche nella directory

Esegui uno script di shell dal comando docker-compose, all'interno del contenitore

Devo aspettarmi che i programmi eseguiti da una cartella tmpfs funzionino più velocemente? (con e senza I/O, dentro e fuori un container Docker)

Su Linux, da quando inizia a contare il tempo di attività?