打包Linux Docker鏡像
本章介紹在不同OS環(huán)境下打包、上傳一個Linux Docker鏡像。
搭建Docker環(huán)境
1. Linux環(huán)境下安裝
推薦安裝1.10.0以上版本的Docker客戶端,參考文檔:Docker。如果您要拉取Docker官方的鏡像,請先安裝阿里云提供的Docker官方鏡像加速器(針對Docker客戶端版本大于1.10.0的用戶)。
sudo mkdir-p/etc/dockersudo tee/etc/docker/daemon.json<<-'EOF'{"registry-mirrors":["http://hd1esep4.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
2. Windows & Mac環(huán)境下安裝
推薦安裝1.10.0以上版本的Docker客戶端,請訪問官網(wǎng)安裝地址Docker(Windows)或者 Docker(Mac)。如果您要拉取Docker官方的鏡像,請先安裝阿里云提供的Docker官方鏡像加速器(針對Docker客戶端版本大于1.10.0的用戶)。
a) 推薦做法是在創(chuàng)建Linux虛擬機(jī)的時候,就將加速器的地址配置進(jìn)去。
docker-machine create--engine-registry-mirror=<your accelerate address>-d virtualbox defaultdocker-machine env defaulteval"$(docker-machine env default)"docker info
b) 如果您已經(jīng)通過docker-machine創(chuàng)建了虛擬機(jī)的話,則需要通過登錄機(jī)器修改配置。
首先,通過
docker-machine ssh <machine-name>
登錄虛擬機(jī)。然后,修改
/var/lib/boot2docker/profile
文件,將--registry-mirror=<your accelerate address>
添加到EXTRA_ARGS中。最后,執(zhí)行
sudo /etc/init.d/docker restart
重啟Docker服務(wù)就可以了。
制作Doker鏡像
請參考Docker官方指導(dǎo)文檔,鏈接:
上傳Docker鏡像
登錄阿里云Docker Registry
sudo docker login--username=tb13414881 registry.cn-shanghai.aliyuncs.com
登錄Registry的用戶名是您的阿里云賬號的全名,密碼是您開通服務(wù)時設(shè)置的密碼。您可以在鏡像管理首頁修改登錄密碼。
從Registry中拉取鏡像
sudo docker pull[鏡像倉庫地址]:[鏡像版本號]
將鏡像推送到Registry
sudo docker login--username=tb13414881 registry.cn-shanghai.aliyuncs.comsudo docker tag[ImageId][鏡像倉庫地址]:[鏡像版本號]sudo docker push[鏡像倉庫地址]:[鏡像版本號]
請根據(jù)實際鏡像信息替換示例中的ImageId
、鏡像倉庫地址
、鏡像版本號
參數(shù)。
選擇合適的鏡像倉庫地址
從ECS推送鏡像時,可以選擇使用鏡像倉庫內(nèi)網(wǎng)地址。推送速度將得到提升并且將不會損耗您的公網(wǎng)流量。
如果您使用的機(jī)器位于經(jīng)典網(wǎng)絡(luò), 請使用 registry-internal.cn-shanghai.aliyuncs.com 作為Registry的域名登錄,并作為鏡像命名空間前綴。
如果您使用的機(jī)器位于VPC網(wǎng)絡(luò),請使用 registry-vpc.cn-shanghai.aliyuncs.com 作為Registry的域名登錄,并作為鏡像命名空間前綴。
示例:使用docker tag
命令重命名鏡像,并將它通過專有網(wǎng)絡(luò)地址推送至Registry。
sudo docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEregistry-vpc.cn-shanghai.aliyuncs.com0.7-dfb681637bb9c63c8b27days ago37.89MBsudo docker tag37bb9c63c8b2registry-vpc.cn-shanghai.aliyuncs.com:0.7-dfb6816
使用docker images
命令找到鏡像,將該鏡像名稱中的域名部分變更為Registry專有網(wǎng)絡(luò)地址。
sudo docker push registry-vpc.cn-shanghai.aliyuncs.com:0.7-dfb6816