1. docker容器打包成鏡像和壓縮
(1)首先查看鏡像所在的容器,獲取到容器id
docker ps -a
?文章來源地址http://www.zghlxwxcb.cn/news/detail-785994.html
(2)將容器保存成鏡像
sudo docker commit -a 'yjw' e007d8b7e1b7 my_projectv2:v2
sudo:以管理員權(quán)限運(yùn)行命令,通常用于在 Linux 系統(tǒng)中運(yùn)行需要管理員權(quán)限的命令。
docker:Docker 命令行工具。
commit:提交 Docker 鏡像的命令。
-a:指定鏡像的作者,這里是作者的名字: yjw。
e007d8b7e1b7:docker的容器id。
my_projectv2:v2:要新創(chuàng)建的鏡像的名稱和版本號,這里是新建一個名為 my_projectv2:v2的鏡像,版本號為 v2。
因此,這條命令將創(chuàng)建一個新的 Docker 鏡像,名為 my_projectv2:v2,并將它提交到 Docker 倉庫中。
?
?文章來源:http://www.zghlxwxcb.cn/news/detail-785994.html
(3)將鏡像打包
docker save -o my_projectv2.tar my_projectv2
docker:Docker 命令行工具。
?save:將 Docker 鏡像保存為文件的命令。
~
-o : 參數(shù)表示指定輸出文件的路徑和名稱,這個路徑是相對于當(dāng)前工作目錄的路徑。如果當(dāng)前工作目錄是 /etc/docker,那么 my_projectv2.tar 文件會被保存到 /etc/docker/my_projectv2.tar , 如上圖所示。
~
my_projectv2:v2 :要保存的 Docker 鏡像的名稱和版本號,這里是一個名為 my_projectv2的鏡像,版本號為 v2。
(注意:我沒加版本號也執(zhí)行了,是因為我鏡像名稱是唯一的,不存在相同的版本號,因此命令沒有加:v2不會出錯)
因此,這條命令將把名為 my_projectv2、版本號為 v2 的 Docker 鏡像保存為一個名為 my_projectv2.tar 的文件。
(4)將鏡像包壓縮
sudo tar -zcvf my_projectv2.tar.gz my_projectv2.tar
還有一種容器的打包和壓縮一步到位的方法:
docker save my_projectv2:v2 | gzip > my_projectv2.tar.gz
2. docker鏡像壓縮包解壓及鏡像載入 (移動到自己想要運(yùn)行的服務(wù)器)
(1)壓縮包解壓
通過finalshell或者其它方式,把前面步驟壓縮的鏡像壓縮包給上傳到內(nèi)網(wǎng)服務(wù)器指令目錄
(注意:我這里只是模仿步驟。有什么出入請指正)
tar -zxvf mask_detection_v5.tar.gz
得到.tar格式的鏡像包
2)鏡像載入
sudo docker load -i my_projectv2.tar
載入后利用 (比如想要修改加載的鏡像,可以參閱后面的一、二、…五等步驟
)
sudo docker images
查看已存在的鏡像。
?
3)啟動鏡像-運(yùn)行項目
docker run -d -it -p 8888:8888 --restart always --name my_dockerv2 my_projectv2:v2
或者 (-p 8888:8888 端口號的前后書寫順序沒有關(guān)系,但是建議使用第一個 )
docker run -d -it --restart always --name my_dockerv2 -p 8888:8888 my_projectv2:v2
?
(4)啟動鏡像-項目成功
(5)docker停止容器(停止項目)
?
① 先查看所有正在運(yùn)行中的容器
docker ps
② docker stop 容器id 停止容器
?
docker stop 2baed9f6f723
PS:某些情況下需要強(qiáng)制關(guān)閉,可以使用
?docker kill 容器ID
(6)再次啟動容器
docker start my_dockerv2
注意:執(zhí)行啟動命令后,后臺運(yùn)行項目環(huán)境需要花時間,因此使用IP地址訪問時需要花時間等待才能夠訪問成功
PS:因為docker run 屬于創(chuàng)建新容器并運(yùn)行,我只是啟動已有的容器,故不使用docker run xxx。
而 docker start 命令用于啟動一個已經(jīng)存在的容器
?
?
到了這里,關(guān)于Linux +Docker鏡像打包導(dǎo)出,上傳至內(nèi)網(wǎng)服務(wù)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!