一、獲取鏡像
docker pull NAME[:TAG]
NAME:鏡像倉(cāng)庫(kù)的名稱(chēng)(用來(lái)區(qū)分鏡像),
TAG:鏡像的標(biāo)簽(用來(lái)表示版本信息)。
如果不顯式指定 TAG,則會(huì)默認(rèn)選擇 latest 標(biāo)簽,這會(huì)下載倉(cāng)庫(kù)中最新版本的鏡像。
不要在生產(chǎn)環(huán)境中忽略鏡像的標(biāo)簽信息或使用默認(rèn)的 latest 標(biāo)記的鏡像。
如果從非官方的倉(cāng)庫(kù)下載,則需要在倉(cāng)庫(kù)名稱(chēng)前指定完整的倉(cāng)庫(kù)地址。例如:
docker pull hub.c.163.com/public/ubuntu:14.04
二、查看鏡像信息
1.使用 images 命令列出鏡像
docker images
2.使用 tag 命令添加鏡像標(biāo)簽
可以使用 docker tag 命令來(lái)為本地鏡像任意添加新的標(biāo)簽。例如添加一個(gè)新的 myubuntu:latest 鏡像標(biāo)簽:
docker tag ubuntu:14.04 myubuntu:latest
3.使用 inspect 命令查看詳細(xì)信息
docker inspect myubuntu:latest
4.使用 history 命令查看鏡像歷史
該命令將列出各層的創(chuàng)建信息
docker history ubuntu:14.04
三、搜尋鏡像
搜索帶 nginx 關(guān)鍵字的鏡像,默認(rèn)搜索官方倉(cāng)庫(kù)中的鏡像。默認(rèn)的輸出結(jié)果將按照星級(jí)評(píng)價(jià)進(jìn)行排序。
docker search nginx
四、刪除鏡像
1.使用標(biāo)簽刪除鏡像
docker rmi myubuntu:latest
當(dāng)同一個(gè)鏡像擁有多個(gè)標(biāo)簽的時(shí)候,docker rmi 命令只是刪除該鏡像多個(gè)標(biāo)簽中的指定標(biāo)簽,并不影響鏡像文件。
但當(dāng)鏡像只剩下一個(gè)標(biāo)簽的時(shí)候就要小心了,此時(shí)再使用 docker rmi 命令將會(huì)徹底刪除鏡像。
2.使用鏡像 ID 刪除鏡像
當(dāng)使用 docker rmi 命令,并且后面跟上鏡像的 ID 時(shí),會(huì)先嘗試刪除所有指向該鏡像的標(biāo)簽,然后刪除該鏡像文件本身。
當(dāng)有鏡像創(chuàng)建的容器存在時(shí),鏡像文件默認(rèn)是無(wú)法刪除的??梢允褂?f 參數(shù)強(qiáng)行刪除。
docker rmi -f ubuntu:14.04
不推薦這種做法。正確的做法是,先刪除依賴(lài)該鏡像的所有容器,再來(lái)刪除鏡像。
docker rm 容器 ID
docker rmi 鏡像 ID
五、創(chuàng)建鏡像
1.基于已有鏡像的容器創(chuàng)建
命令格式:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
主要選項(xiàng)包括:
-a,作者信息;
-c,提交的時(shí)候執(zhí)行 Dockerfile 指令;
-m,提交消息;
-p,提交時(shí)暫停容器運(yùn)行
示例:
docker commit -m "Added a new file" -a "flysheep" 容器 ID test:0.1
2.基于本地模板導(dǎo)入
應(yīng)該比較少用,忽略。
六、導(dǎo)入和導(dǎo)出鏡像
1.導(dǎo)出鏡像
docker save -o ubuntu_14.04.tar ubuntu:14.04
之后就可以通過(guò)復(fù)制ubuntu_14.04.tar文件將該鏡像分享給他人。
2.導(dǎo)入鏡像
docker load --input ubuntu_14.04.tar
或
docker load < ubuntu_14.04.tar
3.上傳鏡像
可以查看阿里云私有鏡像文檔。