參考官方教程:docker registry官方文檔
docker registry安裝
登錄ubuntu14.04后励烦,執(zhí)行安裝命令:docker run -d -p 5000:5000 --name registry registry:2??
對應(yīng)國內(nèi)鏡像庫命令是:sudo docker run -d -p 5000:5000 --name registry daocloud.io/library/registry:2
注意:因為使用的是docker命令剃法,所以需要提前安裝docker,參考:docker安裝
因為docker registry默認是需要認證登錄的贱枣,我們是內(nèi)部用于CICD介返,所以暫時不需要權(quán)限登錄
所以需要修改/etc/default/docker
DOCKER_OPTS="--insecure-registry ${ip}:${port}"
刪除或停止docker registry
docker stop registry && docker rm -v registry
構(gòu)建鏡像
docker鏡像的制作是一層一層累加起來拳氢,而且是每個dockerfile命令是一layer缩搅,所以,針對于我們的項目猖腕,首先得需要一個操作系統(tǒng)的基礎(chǔ)鏡像
1.上傳操作系統(tǒng)基礎(chǔ)鏡像
在上傳基礎(chǔ)鏡像之前拆祈,需要修改目標鏡像要上傳的倉庫地址。在這里是根據(jù)鏡像的tag去識別倘感,需要上傳的私有倉庫地址
docker tag {image-id} ${docker-registry-ip}:${port}/unbuntu:14.04
docker push ${docker-registry-ip}:${port}/unbuntu:14.04
注意:如果是執(zhí)行docker push unbuntu:14.04命令放坏,是上傳官方倉庫,是需要注冊賬號
如何判斷是否上傳成功:
也可以查看:http://${ip}:${port}/v2/_catalog或是curl -i -k -v http://${ip}:${port}/v2/_catalog
2.制作nodejs安裝鏡像
(1)dockerfile構(gòu)建鏡像
docker提供dockerfile命令區(qū)構(gòu)建鏡像侠仇,所以用戶只需書寫Dockerfile文件即可轻姿。這里我們的Dockerfile文件內(nèi)容為
然后犁珠,我們執(zhí)行docker構(gòu)建命令:docker build -t test:1.0 .
構(gòu)建成功后逻炊,可以通過docker image命令查看鏡像,使用docker run imageid來啟動鏡像
進入容器命令:docker exec -it container-id bash 退出容器犁享,保持容器狀態(tài):ctrl+d
(2)docker commit構(gòu)建
方法一中鏡像的構(gòu)建余素,是基于基礎(chǔ)鏡像之上的疊加。那么我們在想基礎(chǔ)鏡像是如何構(gòu)建的炊昆。下邊介紹的方法是適用于基礎(chǔ)鏡像的構(gòu)造桨吊。譬如ubuntu鏡像的構(gòu)建可以使用lxc。這一步不詳細講解了凤巨,ubuntu的基礎(chǔ)鏡像很多视乐,我們先docker命令下載一個最基礎(chǔ)的鏡像。然后執(zhí)行docker run命令啟動鏡像敢茁,創(chuàng)建一個容器
docker exec -it {image-id} bash進入容器佑淀,需要安裝什么在容器內(nèi)執(zhí)行安裝命令。