Скажем, у меня есть приложение C ++, работающее в контейнере docker с использованием современного дистрибутива linux (Ubuntu 19.10) со связанными версиями ядра G CC и linux. Сам контейнер размещен на Ubuntu 19.10.
Я строю свое приложение в контейнере и статически связываю все мои зависимости, кроме тех, которые предоставляются системой, а именно libc ++, lib c, et c. Они взяты из тех, что включены в базовое изображение Docker. Насколько известно моему приложению, оно живет в Ubuntu 19.10.
Затем я продолжаю развертывать образ Docker, содержащий мой двоичный файл приложения, на гораздо более старом ядре Linux (скажем, независимо от того, что использует CentOS 6).
Существует ли риск несовместимости ( ABI или иначе) этим занимаешься?