Ubuntu上使用Docker打包镜像

关于这个一开始会有点懵,直白一点就是,把本地路径下的代码放到docker里面去,然后在docker这个隔离环境中运行调用我们的程序。专业解释请自行检索学习。

第一步:创建容器

docker run --gpus all -it -v  /data/Ariel:/model xlnet/cls:20190902 /bin/bash

有颜色的两部分可以根据实际情况进行修改,这一步执行之后,会生成一个容器id,后面第二步创建镜像就需要用到这个容器id。

/data/Ariel是本地代码路径,里面出需要使用的功能代码之外,还需要包含model_server.py,.thrift文件,以及训练好的权重文件(放在checkpoints里)。其中model_server.py,.thrift文件是自己根据代码针对性的写出来的,并且需要成功运行model_server.py(它就相当于一个测试脚本,把这个测试脚本运行成功无bug,我们后面才能使用这些代码文件)方可打包自己的镜像。

/model是我们自己的本地代码映射到docker中的存放路径,就是说本地路径有什么,docker中的model应该有什么。

xlnet/cls:20190902是自己需要使用的旧的镜像。所以,第一步创建容器之后,新容器里面的model所含内容其实是原来镜像里面的,自己新映射的一系列数据在docker的data目录下,若model非空,需要将model中数据删除,将自己的数据放入model中就ok了。

第二步:创建新的镜像

执行这一步需要首先退出容器。

docker commit -m'xlnet/cls' -a'ariel' ******* xlnet/cls:20200902

星号*******就是经过第一步创建容器之后生成的容器id。

ok,退出容器,使用命令docker images 查看一下自己新创建的镜像。

猜你喜欢

转载自www.cnblogs.com/ariel-dreamland/p/11457741.html