Структурирование Docker для построения монолитного приложения - PullRequest
0 голосов
/ 16 ноября 2018

У нас есть монолитный процесс сборки для приложения на базе ROS , и мы хотим использовать Docker для его упаковки, чтобы нам было проще тестировать и развертывать.

В настоящее время я думаю, чточто я создаю образ, который содержит все зависимости, затем использую ENTRYPOINT и подходящие --mount команды, чтобы сделать наш окончательный cmake и встроить локальный источник в контейнер.

Однако есть один важныйпроблема дизайна, которую я еще не нашел решение или лучшая практика для.Сначала я получил OpenCV + CUDA изображение и подходящее ROS-изображение , поэтому мне нужно объединить оба в новый контейнер, но команда FROM, похоже, недостаточно.Например, OpenCV был установлен с make install, а CUDA прошел через любую обработку apt-get, поэтому я не могу просто COPY над файлами --from один после переключения на второй.Практически, когда я в настоящее время пытаюсь собрать cmake, жалуется на отсутствие CUDA_TOOLKIT_ROOT_DIR, и если я взломаю, что, несомненно, будет другая подобная ошибка, еще несколько строк в makefile.

Как сделатьлюди обходят стороной «множественное наследование изображений» (из-за отсутствия лучшего слова)?Должен ли я, скажем, просто делать apt get cuda8 в моем последнем Dockerfile вместо того, чтобы полагаться на FROM docker-opencv-cuda для косвенного обеспечения среды?Тем не менее, проблема заключается в том, чтобы обеспечить синхронизацию версий CUDA между изображениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...