從docker容器生成鏡像
docker commit -a "zhaoolee" -m “完成uwsgi的配置” qs zhaoolee-qs:1.0
參數(shù)說(shuō)明:
-a
為作者署名,-m
為本次提交的內(nèi)容說(shuō)明,qs
為容器的名稱(chēng),zhaoolee-qs:1.0
表示新生成的鏡像名為zhaoolee-qs
,鏡像zhaoolee-qs版本號(hào)為1.0
從容器生成鏡像的時(shí)間可以會(huì)比較長(zhǎng), 需要耐心等待
將docker鏡像導(dǎo)出為靜態(tài)文件
docker save zhaoolee-qs:1.0 > qs01.tar
zhaoolee-qs:1.0
為鏡像名,qs01.tar
為新生成的靜態(tài)文件名
通過(guò)將scp將靜態(tài)文件發(fā)送到服務(wù)端
scp ./qs01.tar root@192.168.214.162:/qs01.tar
./qs01.tar
表示當(dāng)前本地路徑下的靜態(tài)文件qs01.tar
,root@192.168.214.162
表示以root的身份登錄ip為192.168.214.162
服務(wù)器,:/qs0.tar
表示qs01.tar將要存儲(chǔ)到遠(yuǎn)程服務(wù)器根目錄下,文件名保持為qs01.tar
scp遠(yuǎn)程拷貝是一個(gè)非常值得掌握的命令, 簡(jiǎn)單實(shí)用, 也可用與腳本編程
將靜態(tài)文件還原為鏡像, 并導(dǎo)入docker
docker load < qs01.tar
登錄192.168.214.162
, 進(jìn)入根目錄下(qs01.tar所在的位置), 運(yùn)行此命令, 即可將鏡像恢復(fù), 并導(dǎo)入docker管理器
從剛剛導(dǎo)入的鏡像新建容器
docker run -t -i --name qs01 -p 3000:80 -p 8000:8000 zhaoolee-qs:1.0 /bin/bash
小技巧: 退出當(dāng)前容器環(huán)境但不關(guān)閉當(dāng)前容器ctrl+p+q
- 小結(jié):
利用靜態(tài)文件進(jìn)行容器的遷移, 是一件非常簡(jiǎn)單的事情, 你可以像發(fā)布一個(gè)軟件包一樣將自己的docker容器生成的靜態(tài)文件分發(fā)到各類(lèi)操作系統(tǒng), docker才是真正的跨平臺(tái)呀!