關於這個一開始會有點懵,直白一點就是,把本地路徑下的代碼放到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 查看一下本身新建立的鏡像。