Могу ли я распространять библиотеку C ++ с зависимостями в качестве образа Docker?

Если я правильно понимаю, Docker контейнеры может инкапсулировать все зависимости и позволяют распространять исполняемые файлы очень переносимым способом.

Но также (если я правильно понимаю), они изолированы от остальных приложений которые не находятся внутри контейнера.

Итак, мой вопрос: если я предоставлю образ Docker, который будет инкапсулировать все зависимости для библиотеки C ++ (и самой библиотеки), смогут ли обычные (не контейнеризованные) приложения использовать библиотеку? Если нет, то что, если я также создаю образы Docker для этих приложений?

(Я имею в виду научную библиотеку C ++ с открытым исходным кодом, которая опирается на несколько других больших и иногда не очень распространенных библиотек. Одной из них является, например, Boost, которая должна быть последней версией. Другие зависимости обычно не предоставляется в дистрибутивах Linux.)

0

Решение

Нет.

Если вы распространяете библиотеку в виде контейнера Docker, только приложения внутри контейнера смогут использовать ее (если кто-то не потрудится вытащить вашу библиотеку из контейнера и использовать ее как обычно).

Кроме того, поскольку Docker-контейнеры нельзя комбинировать, вы не сможете использовать два «библиотечных контейнера» в одной программе.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]