03 Docker 鏡像使用

拉取鏡像

Docker 鏡像的拉取,可以使用 docker pull 命令,命令格式一般為 docker pull [Registry]/[Repository]/[Image]:[Tag]。而且執(zhí)行拉取命令時(shí),都是先從本地搜索,如果本地搜索不到鏡像則從 Docker Hub 下載鏡像。

● Registry:為注冊(cè)服務(wù)器,Docker 默認(rèn)會(huì)從 docker.io 拉取鏡像,可以將其替換為自己的注冊(cè)服務(wù)器。
● Repository:為鏡像倉(cāng)庫(kù),通常把一組相關(guān)聯(lián)的鏡像歸為一個(gè)鏡像倉(cāng)庫(kù),library 為 Docker 默認(rèn)的鏡像倉(cāng)庫(kù)。
● Image:為鏡像名稱。
● Tag:為鏡像的標(biāo)簽,如果不指定拉取鏡像的標(biāo)簽,默認(rèn)為 latest。

查看鏡像

Docker 鏡像查看,可以使用 docker images 命令;如果需要查看指定的鏡像,可以使用 docker image ls 或者 docker images | grep 命令。

### 列出本地所有鏡像
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              4bb46517cacc        9 days ago          133MB
busybox             latest              018c9d7b7922        3 weeks ago         10MB 

### 查看指定鏡像
$ docker image ls busybox
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              018c9d7b7922        3 weeks ago         10MB  

$ docker images | grep busybox
busybox             latest              018c9d7b7922        3 weeks ago         10MB

重命名鏡像

自定義鏡像名稱或者推送鏡像到其他鏡像倉(cāng)庫(kù),可以使用 docker tag 命令,命令格式為 docker tag [SOURCE_IMAGE]:[TAG] [TARGET_IMAGE]:[TAG]。重命名的鏡像除了別名不同,其他的內(nèi)容一致,所以也不能通過(guò)鏡像ID來(lái)刪除鏡像。

$ docker tag busybox:latest mybbox:latest
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              018c9d7b7922        3 weeks ago         10MB 
mybbox              latest              018c9d7b7922        3 weeks ago         10MB 

刪除鏡像

刪除鏡像,可以使用 docker rmi 或者 docker image rm 命令,如果鏡像名有多個(gè)相同的,則需要指定標(biāo)簽,默認(rèn)刪除的鏡像標(biāo)簽是 latest。

$ docker rmi mybbox
Untagged: mybusybox:latest

構(gòu)建鏡像

方式1:使用 docker commit 命令將運(yùn)行中的容器提交為鏡像,命令格式為 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]。

$ docker run -it --rm --name=mybb busybox sh
$ docker commit a404c6c174a2 busybox:v1

方式2:Dockerfile 是一個(gè)包含了用戶所有構(gòu)建命令的文本,使用 docker build 命令從 Dockerfile 構(gòu)建鏡像,注意要在 Dockerfile 所在目錄下執(zhí)行命令。
使用 Dockerfile 構(gòu)建鏡像具有以下特性:
● Dockerfile 的每一行命令都會(huì)生成一個(gè)獨(dú)立的鏡像層,并且擁有唯一的 ID;
● Dockerfile 的命令是完全透明的,通過(guò)查看 Dockerfile 知道鏡像是如何構(gòu)建的;
● Dockerfile 是純文本的,方便跟隨代碼一起存放在代碼倉(cāng)庫(kù)并做版本管理。

FROM centos:7
COPY nginx.repo /etc/yum.repos.d/nginx.repo
RUN yum install -y nginx
EXPOSE 80
ENV HOST=mynginx
CMD ["nginx","-g","daemon off;"]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容