GNU/Linux >> Tutoriales Linux >  >> Linux

gdb no alcanza ningún punto de interrupción cuando lo ejecuto desde el interior del contenedor Docker

actualización 2020.01.04:Use la respuesta dada por Kevin W Matthews --- es mejor porque otorga las capacidades individuales necesarias sin elevar todo el contenedor.

tldr; usar

docker run --privileged

Más tiempo:estaba teniendo algunos problemas con gdb en la ventana acoplable --- estaba intentando (y fallando) deshabilitar la aleatorización del diseño del espacio de direcciones --- pero solo en docker-machine , no en mi host Linux nativo.

Cuando gdb no pudo deshabilitar ASLR, todos mis puntos de interrupción serían ignorados. Usando el --privileged flag solucionó mi problema. Su millaje puede variar.


En lugar de elevar todo el contenedor, pude usar la opción

--security-opt seccomp=unconfined

para solucionar problemas de aleatorización del espacio de direcciones.

Algunos también recomiendan habilitar el ptrace capacidad con

--cap-add=SYS_PTRACE

pero esto no pareció tener ningún efecto para mí.

Estas son las mismas configuraciones para la redacción de Docker:

security_opt:
  - seccomp:unconfined
cap_add:
  - SYS_PTRACE

Los detalles se toman de esta publicación de Stack Overflow.


Linux
  1. Cómo crear una imagen personalizada desde un contenedor Docker

  2. ¿Qué hay dentro de una imagen/contenedor de Docker?

  3. Ejecutando docker en Ubuntu:el volumen de host montado no se puede escribir desde el contenedor

  4. Docker Volume no monta ningún archivo

  5. ssh-copy-id no funciona

¿Cómo agregar usuarios al contenedor Docker?

¿Por qué el contenedor docker solicita Permiso denegado?

Cómo ejecutar un trabajo cron dentro de un contenedor docker

Docker no actualiza los cambios en el directorio

Ejecute un script de shell desde el comando docker-compose, dentro del contenedor

¿Por qué rm manual dice que podemos ejecutarlo sin ningún argumento, cuando esto no es cierto?