构建Docker以构建整体应用程序

时间:2018-11-16 06:04:39

标签: docker dockerfile

我们有一个ROS-based application的整体构建过程,并且希望使用Docker对其进行打包,以便我们可以更轻松地测试和部署。

我目前的想法是,我构建一个包含所有依赖项的映像,然后使用ENTRYPOINT和合适的--mount命令执行最后的cmake并将本地源构建到容器中

但是,有一个主要的设计问题我还没有找到解决方案或最佳实践。首先,我获得了OpenCV+CUDA图像和合适的ROS image,因此我需要将两者合并到一个新容器中,但是FROM命令似乎不够用。例如,OpenCV已经安装了make install,而CUDA已经经过了必要的apt-get处理,因此切换到文件COPY之后,我不能只是--from第二。实际上,当我当前尝试构建cmake时,抱怨CUDA_TOOLKIT_ROOT_DIR丢失了,并且如果我认为毫无疑问会出现另一个类似的错误,则会在makefile中再插入几行。

人们如何避开“多重图像继承”(由于缺少更好的词)?我是否应该只是在最后的apt get cuda8中做Dockerfile而不是依靠FROM docker-opencv-cuda间接提供环境?但这有一个问题,就是要确保我的CUDA版本在图像之间保持同步。

0 个答案:

没有答案