Montar el sistema de archivos del contenedor en mi host

Montar el sistema de archivos del contenedor en mi host

Construí algún software en un contenedor (usando Podman) y me gustaría ejecutar el binario en mi host. El binario está vinculado a algunas bibliotecas dinámicas que no tengo en mi host. Pensé que una solución rápida y hacky es montar el sistema de archivos del contenedor en mi host y hacer que el binario busque bibliotecas allí (por ejemplo, usando LD_LIBRARY_PATH).

¿Cómo puedo montar/ver el sistema de archivos del contenedor en mi host?

Respuesta1

Escriba paquetes personalizados para contener el programa y sus bibliotecas de dependencia. rpm, deb, apk, lo que sea. Constrúyalos en un chroot mínimo, como simulacro para generar rpm. Instalar en el host. Un embalaje como este tiene ventajas, entre ellas, que no requiere cambiar el enlazador.

Si realmente desea utilizar esa imagen de contenedor, sería más natural reutilizarla como base de otro contenedor.

Sí, es posible montar la imagen en algún lugar y tal vez vincular simbólicamente las bibliotecas relevantes en formato /usr/local/lib64. Sin embargo, eso agrega la complejidad de un almacenamiento separado para esta aplicación, sin los beneficios de seguridad de un contenedor (podman) o una aplicación de espacio aislado (snap, flatpak), con procedimientos de mantenimiento no estándar.

información relacionada