因为在docker hub上,没有找到合适的c++的镜像,因此才重新在现有镜像上制作的。
如果是别的语言的镜像,可以在docker hub上直接pull。
1、从github下载源码
git clone --recursive https://github.com/apache/incubator-mxnet
cd incubator-mxnet
git checkout 1.4.1
git submodule update --init --recursive
2、docker pull 别的语言的镜像,这里我pull python的镜像
虽然这个镜像里是python的接口,但是已经安装了很多必要的环境依赖,因此在此镜像上构建,更方便些。如果想要镜像,更加精简,可以从头构建镜像。
3、源码复制到镜像中,编译源码c++接口
进入源码根目录
cp make/config.mk .
make clean #清除原有的编译文件
更改config.k 文件,将USE_CPP_PACKAGE 设为1 ,默认为0
可以选择使用OPENCV或者不使用。默认是使用的,也可以禁掉。
make # 编译(这里我只使用make 可以编译通过,make -j4,编译报错,可能是运行内存不足的问题。)
4、最后把原有的mxnet删除,保留新的mxnet, commit 镜像即可。