[4] docker容器打包成鏡像、鏡像備份、鏡像遷移(恢復)、發佈到阿里雲倉庫

如果你學習了前面的的三篇文章:

[1] 外行人都能看的懂的Docker簡介
[2] 一篇文章帶你入門Docker
[3] docker應用部署實戰(MySQL、Tomcat、Redis、RabbitMQ)

那恭喜你,你現在已經可以將自己的應用程序+運行環境打包好放到docker裏了。然而,做到這一步顯然還不夠。你需要將你的docker鏡像對外提供出去,這樣才能放到其他主機上去跑。本節我們就來實戰一下將容器打包成Docker鏡像,並提供對外拷貝的.tar包或將其直接發佈到阿里雲倉庫。

1.容器保存爲鏡像

命令:

docker commit [-m="提交的描述信息"] [-a="創建者"] 容器名稱|容器ID 生成的鏡像名[:標籤名]

解釋:

-m= : 爲鏡像添加描述信息
-a= : 爲鏡像添加創建者信息
容器名稱|容器ID : 當前要被打包的容器名稱或容器ID
生成的鏡像名[:標籤名] : 指定鏡像名稱或標籤名稱

1.1 創建測試容器

創建並進入容器

docker run -it --name=my_ubuntu  ubuntu /bin/bash

隨便增加一些文件
在這裏插入圖片描述

2.2 將該容器打包成鏡像

1.首先退出容器
在這裏插入圖片描述
2.執行打包命令
在這裏插入圖片描述
在這裏需要強調一點:鏡像名必須要全部小寫,否則將不能打包。
在這裏插入圖片描述
3. 查看鏡像列表
在這裏插入圖片描述

2.3 運行容器

運行容器驗證一下:
在這裏插入圖片描述

2.4 對有目錄/文件映射的容器的處理

針對映射了宿主機的文件/目錄的容器,在打包成鏡像時,映射文件/目錄並不會被打包進去。
針對這種情況提供兩種解決方案:

1.直接將原來的映射目錄/文件拷貝進容器後再打包。

docker cp 要拷貝的文件或目錄 容器ID或容器名稱:要拷貝到的容器內部位置

2.對外提供鏡像時,把映射文件一起提供出去。當運行鏡像時,指定映射關係。

2.將鏡像備份成.tar文件

命令

docker save -o 保存的PathName 鏡像名:標籤

將鏡像打包,並保存在當前目錄下:
在這裏插入圖片描述

3. 從.tar文件恢復

1.先刪除原有的my_ubuntu:1.0鏡像
在這裏插入圖片描述
2.恢復鏡像

命令

docker load -i 鏡像備份文件

實操
在這裏插入圖片描述

4. 上傳到阿里雲倉庫

4.1 進入阿里雲控制檯

進入阿里雲控制檯,找到容器鏡像服務,並點擊進去。

初次進入需要設置遠程倉庫密碼
在這裏插入圖片描述
設置密碼
在這裏插入圖片描述

4.2 創建鏡像倉庫

在這裏插入圖片描述
選擇本地倉庫
在這裏插入圖片描述

4.3 查看操作指南

在這裏插入圖片描述
具體說明
在這裏插入圖片描述

4.4 實操將鏡像提交到阿里雲

在這裏插入圖片描述
docker tag的目的是:標記此鏡像爲阿里雲倉庫的鏡像

4.5 實操從雲倉庫拉取鏡像

先刪除原有鏡像
在這裏插入圖片描述
拉取鏡像
在這裏插入圖片描述
運行鏡像
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章