入門指引
容器鏡像服務是一種支持容器鏡像全生命周期管理的服務, 提供簡單易用、安全可靠的鏡像管理功能,幫助用戶快速部署容器化服務。本文檔將幫助您學習如何安裝容器引擎以及如何使用容器引擎客戶端上傳鏡像到容器鏡像倉庫。
說明
上傳鏡像僅適用于管理控制臺操作。
圖 入門流程圖

準備工作
在使用容器鏡像服務前,您需要完成天翼云注冊并實名認證的準備工作。
本文以一個2048應用為例,講述根據該應用編寫Dockerfile文件構建鏡像并上傳至容器鏡像服務的操作。您可以編寫一個Dockerfile文件,以alpine:3.7為基礎鏡像,來構建一個2048容器鏡像。
前提條件
- 已安裝Docker
- 已獲取2048應用,并將該鏡像下載至本地。
構建鏡像
步驟1: 使用root用戶登錄虛擬機。
步驟2: 創建2048-demo目錄。
mkdir 2048-demo
步驟3 :下載2048源碼至2048-demo目錄中。
該應用源碼地址為:。
步驟4 :創建名為Dockerfile的文件。
cd 2048-demo
touch Dockerfile
步驟5 :編輯Dockerfile。
vi Dockerfile
FROM alpine:3.7
RUN apk --update add nginx
COPY 2048 /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
- FROM:指定基礎鏡像alpine:3.7。
- RUN:安裝nginx。
- COPY:將2048源碼拷貝到容器內的“/usr/share/nginx/html”目錄。
- EXPOSE:暴露容器的80端口。
- CMD:指定容器運行時的默認命令。
保存并退出。
步驟6 :執行以下命令構建鏡像。
docker build -t 2048-demo:v1 .
鏡像構建的格式為:docker build [選項] <上下文路徑>,詳細命令可參考。
- -t 2048-demo:v1:指定鏡像的名稱和版本。
- .:指定Dockerfile所在目錄,鏡像構建命令會按照Dockerfile的內容構建鏡像。
步驟7 :執行以下命令,可查看到已成功構建的2048-demo鏡像,版本為v1。
docker images | grep 2048-demo
查看已構建的2048-demo鏡像

創建組織
組織用于隔離鏡像,并為租戶下用戶指定不同的權限(讀取、編輯、管理)。
- 讀取:只能下載鏡像,不能上傳。
- 編輯:下載鏡像、上傳鏡像、編輯鏡像屬性以及創建觸發器。
- 管理:下載鏡像、上傳鏡像、刪除鏡像或版本、編輯鏡像屬性、添加授權、以及共享鏡像。
步驟1 :登錄容器鏡像服務控制臺。
步驟2 :在左側菜單欄選擇“組織管理”,單擊右側“創建組織”,在彈出的頁面中填寫“組織名稱”,然后單擊“確定”。
客戶端上傳鏡像
docker客戶端上傳鏡像,是指使用docker命令將鏡像上傳到容器鏡像服務的鏡像倉庫。
本章節以2048-demo:v1鏡像為例,介紹如何上傳鏡像。上傳成功后,在“我的鏡像”中顯示已上傳成功的鏡像。
注意
使用客戶端上傳鏡像,鏡像的每個layer大小不能超過10G。
上傳鏡像的Docker客戶端版本必須為1.11.2及以上。
步驟1:連接容器鏡像服務。
a. 登錄容器鏡像服務控制臺。
b. 在左側菜單欄選擇“我的鏡像”,單擊右側“客戶端上傳”,在彈出的頁面中單擊“生成臨時docker login指令”,單擊 復制docker login指令。docker login指令末尾的域名即為當前鏡像倉庫地址,記錄該地址。
說明
此處獲取的docker login指令有效期為24小時,若需要長期有效的docker login指令,請參見獲取長期有效docker login指令
獲取了長期有效的登錄指令后,在有效期內的臨時登錄指令仍然可以使用。
c.在安裝Docker的機器中執行上一步復制的docker login指令。
登錄成功會顯示“login succeeded”。
步驟2:在安裝docker的機器給2048-demo:v1鏡像打標簽。
docker tag [鏡像名稱:版本名稱] [鏡像倉庫地址]/[組織名稱]/[鏡像名稱:版本名稱]
說明
鏡像名稱不支持多級目錄格式,例如:鏡像名稱可命名為“2048-demo”,不可命名為“2048-demo/test”。
樣例如下:
docker tag 2048-demo:v1 {Public image address}/group/2048-demo:v1
其中:
- {Public image address}為容器鏡像服務的鏡像倉庫地址。獲取該地址的方式:單擊“我的鏡像”,單擊鏡像列表中的鏡像名稱,在“Pull/Push指南”頁簽中的“1. 本鏡像地址”下可以看到鏡像倉庫地址。
- group為組織名稱,如果該組織還沒有創建,容器鏡像服務會根據組織名稱自動創建一個組織。
- 2048-demo:v1 為鏡像名稱和版本號。
步驟3:上傳鏡像至鏡像倉庫。
docker push [鏡像倉庫地址]/[組織名稱]/[鏡像名稱:版本名稱]
樣例如下:
docker push {Public image address}/group/2048-demo:v1
終端顯示如下信息,表明push鏡像成功。
6d6b9812c8ae: Pushed
695da0025de6: Pushed
fe4c16cbf7a4: Pushed
v1: digest: sha256:eb7e3bbd8e3040efa71d9c2cacfa12a8e39c6b2ccd15eac12bdc49e0b66cee63 size: 948
返回系統,在“我的鏡像”頁面,執行刷新操作后可查看到對應的鏡像信息。