Docker知识6:实战!将一个tensorflow项目制作成Docker image
提要:
這里完成一個完整的docker項目,并且將其推送到Docker-hub中。
docker知識5:在WSL2的ubuntu20.04環(huán)境安裝使用docker
第一步 登錄hub并建立倉庫
如果docker-hub的注冊名稱為china,建立倉庫名稱為china/tianjin,那么hub上將會有一個空的image,名稱為china/tianjin.
在客戶端準備:將一個container轉化成一個image,中心代碼:
docker commit? name-container? china/tianjin
注意:這里image名稱必須與hub上一樣,才能推送到hub上去。
推送上面的image/tianjin到hub上去。
docker push?china/tianjin
登錄hub查看,將出現(xiàn)一個鏡像。
第二步 準備一個完整項目在win10系統(tǒng)運行
在win10下面,有開發(fā)好的基于Mnist的KNN分類項目。該項目存放在e盤(win10的)。
進入wsl2的ubuntu,鍵入 cd /mnt/e && ls
huatec@LAPTOP-J5TGQHQH:~$? ?cd /mnt/e && ls
'$RECYCLE.BIN'? ?'System Volume Information' ? machine_learn
huatec@LAPTOP-J5TGQHQH:/mnt/e$?
可以看到? machine_learn,將其導入ubuntu:
sudo cp /mnt/e/machine_learn -r? /home/usr
查看倒入的效果:
cd? /home/usr && tree?machine_learn
結果是:
machine_learn
└── knn
? ? ├── KNN.py
? ? └── MNIST_data
? ? ? ? ├── t10k-images-idx3-ubyte.gz
? ? ? ? ├── t10k-labels-idx1-ubyte.gz
? ? ? ? ├── train-images-idx3-ubyte.gz
? ? ? ? └── train-labels-idx1-ubyte.gz
此時,此項目已經(jīng)導入ubuntu宿主機內。
第三步? 將項目從宿主機導入容器
啟動docker,從ubuntu宿主機執(zhí)行:
sudo service docker start
sudo docker pull tensorflow/tensorflow? ? 【這里tensorflow/tensorflow是個官方鏡像名稱】
啟動一個容器:
sudo docker run -it -p 8000:8000 --name mytensor? tensorflow/tensorflow
sudo docker ps? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 得到containerID? ? ?62e188e9e750
將宿主機項目導進此容器
sudo docker cp /home/huaw/machine_learn?62e188e9e750:/home
進入容器,查看導入項目
sudo docker exec -it? container-ID? ?/bin/bash? ? [?container-ID由sudo docker ps指令得到62e188e9e750]
第四步 如何從宿主機運行container中的內容
在container的路徑/home/mycont 下有:
KNN.py? ? ? ? ? python程序
MNIST_data? 數(shù)據(jù)目錄
在宿主機執(zhí)行,或寫成sh腳本:
#!/bin/bash
DOCKER_ID=62f3f40ab240
sudo docker exec? -it? ?62e188e9e750? /bin/bash? -c?? 'cd /home && python KNN.py'
可以實現(xiàn)從宿主機啟動container內部的訓練。
sudo docker??run tensorflow/tensorflow:0.12.1-gpu? python train.py
直接進行訓練。
第五步 如何將容器生成image
這里用到前面注冊的china/tianjin賬號。
sudo docker? commit 62e188e9e750? china/tianjin
sudo docker images
可以看到本地多了一個鏡像china/tianjin
第六步 將鏡像上傳到HUB上
sudo docker push?china/tianjin
再次進入docker-hub網(wǎng)頁,發(fā)現(xiàn)Repositories中多出一個鏡像。至此大功告成!
參考文章:
Docker與深度學習_機器學習與系統(tǒng)-CSDN博客
《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Docker知识6:实战!将一个tensorflow项目制作成Docker image的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker知识5:在WSL2的ubun
- 下一篇: 机器学习系列1:单变量线性回归