Monte o sistema de arquivos do contêiner no meu host

Monte o sistema de arquivos do contêiner no meu host

Criei algum software em um contêiner (usando Podman) e gostaria de executar o binário em meu host. O binário está vinculado a algumas bibliotecas dinâmicas que não tenho no meu host. Achei que uma solução hacky rápida seria montar o sistema de arquivos do contêiner em meu host e fazer com que o binário procurasse bibliotecas lá (por exemplo, usando LD_LIBRARY_PATH).

Como posso montar/ver o sistema de arquivos do contêiner no meu host?

Responder1

Escreva pacotes personalizados para conter o programa e suas bibliotecas de dependência. rpm, deb, apk, tanto faz. Construa-os em um chroot mínimo, como um mock para construir rpm. Instale no host. Embalagens como esta têm vantagens, incluindo não exigir a troca do ligante.

Se você realmente deseja usar aquela imagem do container, seria mais natural reutilizá-la como base de outro container.

Sim, é possível montar a imagem em algum lugar e talvez vincular simbolicamente as bibliotecas relevantes ao arquivo /usr/local/lib64. No entanto, isso adiciona a complexidade de um armazenamento separado para esta aplicação, sem os benefícios de segurança de um contêiner (podman) ou de uma aplicação em área restrita (snap, flatpak), com procedimentos de manutenção não padronizados.

informação relacionada