关于这个一开始会有点懵,直白一点就是,把本地路径下的代码放到docker里面去,而后在docker这个隔离环境中运行调用咱们的程序。专业解释请自行检索学习。docker
第一步:建立容器bash
docker run --gpus all -it -v /data/Ariel:/data xlnet/cls:20190902 /bin/bash学习
有颜色的两部分能够根据实际状况进行修改,这一步执行以后,会生成一个容器id,后面第二步建立镜像就须要用到这个容器id。测试
/data/Ariel是本地代码路径,里面出须要使用的功能代码以外,还须要包含model_server.py,.thrift文件,以及训练好的权重文件(放在checkpoints里)。其中model_server.py,.thrift文件是本身根据代码针对性的写出来的,而且须要成功运行model_server.py(它就至关于一个测试脚本,把这个测试脚本运行成功无bug,咱们后面才能使用这些代码文件)方可打包本身的镜像。spa
/data是咱们本身的本地代码映射到docker中的存放路径,就是说本地路径有什么,docker中的data应该有什么。server
xlnet/cls:20190902是本身须要使用的旧的镜像。因此,第一步建立容器以后,新容器里面的model所含内容实际上是原来镜像里面的,本身新映射的一系列数据在docker的data目录下,若model非空,须要将model中数据删除,将本身的数据放入model中就ok了。it
第二步:建立新的镜像容器
执行这一步须要首先退出容器。打包
docker commit -m'xlnet/cls' -a'ariel' ******* xlnet/cls:20200902model
星号*******就是通过第一步建立容器以后生成的容器id。
ok,退出容器,使用命令docker images 查看一下本身新建立的镜像。