コンテナのファイルシステムをホストにマウントする

コンテナのファイルシステムをホストにマウントする

私はコンテナ内にソフトウェアを構築し (Podman を使用)、そのバイナリをホスト上で実行したいと考えています。バイナリは、ホスト上にないいくつかの動的ライブラリにリンクされています。コンテナのファイルシステムをホストにマウントし、バイナリにその中のライブラリを検索させる (たとえば を使用LD_LIBRARY_PATH) という簡単なハッキングソリューションを考えました。

ホスト上でコンテナのファイルシステムをマウント/表示するにはどうすればいいですか?

答え1

プログラムとその依存ライブラリを含むカスタム パッケージを作成します。rpm、deb、apk など。これらを、rpm をビルドするための mock などの最小限の chroot でビルドします。ホストにインストールします。このようなパッケージ化には、リンカーを変更する必要がないなどの利点があります。

そのコンテナ イメージを本当に使用したい場合は、別のコンテナのベースとして再利用する方が自然です。

はい、イメージをどこかにマウントし、関連するライブラリを にシンボリックリンクすることは可能です /usr/local/lib64。ただし、そうすると、このアプリケーション用の別のストレージの複雑さが増し、コンテナ (podman) やサンドボックス化されたアプリケーション (snap、flatpak) のセキュリティ上の利点がなく、非標準のメンテナンス手順が必要になります。

関連情報