今天繼續(xù)學(xué)習(xí)我們的Docker命令,在簡(jiǎn)單的了解命令后我們會(huì)開始實(shí)戰(zhàn)操作執(zhí)行Docker容器,應(yīng)用起來我們的命令。今天繼續(xù)學(xué)習(xí)六大部門Docker命令中的本地鏡像管理命令
原先我們學(xué)習(xí)images的命令可以參考前一篇文章容器Docker學(xué)習(xí)系列二了解
今天要學(xué)習(xí)的命令包含剩下的五個(gè) rmi,tag,build,history,save,import
rmi
執(zhí)行操作 docker rmi [OPTIONS] 鏡像名稱
刪除本地一個(gè)或者多個(gè)鏡像。
OPTIONS 是一個(gè)可選操作:
- -f :強(qiáng)制刪除
- --no-prune:不移除該鏡像的過程鏡像,默認(rèn)操作是移除。
docker@ubuntu:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo latest 8bf72137439e 4 days ago 380MB
redis latest 4e8db158f18d 11 days ago 83.4MB
docker@ubuntu:~$ docker rmi redis
Untagged: redis:latest
Untagged: redis@sha256:858b1677143e9f8455821881115e276f6177221de1c663d0abef9b2fda02d065
Deleted: sha256:4e8db158f18dc71307f95260e532df39a9b604b51d4e697468e82845c50cfe28
Deleted: sha256:f0a7bdb1c3ed0d654f4c089184d736248a36fe904656c4a6907d2c1af3e28886
Deleted: sha256:96aa0bbe90a1e1cc0400b9ae97ceae726b4c8a4b4e86cbaa38577437b1747317
Deleted: sha256:098bb5a74892a87af81f5eb190c2768aaa2a625300b111270c53951488995658
Deleted: sha256:e6b3eda8746c5cc312ebb40e1ca5c064638af429b9b3848280aab8ed882bd10b
Deleted: sha256:aee8b479b9a768a64f4c32d69108566fbdbb71c8e541496dd1fa9f7ad19d8632
Deleted: sha256:cdb3f9544e4c61d45da1ea44f7d92386639a052c620d1550376f22f5b46981af
docker@ubuntu:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo latest 8bf72137439e 4 days ago 380MB
tag
執(zhí)行操作 docker tag [OPTION] sourceImage[:TAG] targetImage[:TAG]
用來標(biāo)記本地的鏡像,將其歸入其中的倉庫中 .將源目標(biāo)的tag創(chuàng)建一個(gè)新的TAG或者是某一類的標(biāo)簽標(biāo)示
OPTION 可選:
- -f :強(qiáng)制覆蓋
例子如下展示了修改標(biāo)簽。 標(biāo)簽一般代表的是版本
docker@ubuntu:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo latest 8bf72137439e 4 days ago 380MB
docker@ubuntu:~$ docker tag mongo:latest mongo:13.2
docker@ubuntu:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo 13.2 8bf72137439e 4 days ago 380MB
build
docker build [OPTIONS] PATH | URL | -
docker build 用于使用DockerFile來創(chuàng)建使用自己的鏡像。
因?yàn)镺PTIONS 是可選的 但是我們?cè)跇?gòu)建的時(shí)候常用的可選參數(shù)應(yīng)該也明白下。
- --build-arg :用來設(shè)置構(gòu)建時(shí)的變量
- --no-cache : 默認(rèn)false,如果設(shè)置該選項(xiàng)將不會(huì)使用Build Cache 構(gòu)建鏡像
- --compress,默認(rèn)false。設(shè)置該選項(xiàng),將使用gzip壓縮構(gòu)建的上下文
- --disable-content-trust,默認(rèn)true。設(shè)置該選項(xiàng),將對(duì)鏡像進(jìn)行驗(yàn)證
- --file, -f,Dockerfile的完整路徑,默認(rèn)值為‘PATH/Dockerfile’
- --isolation,默認(rèn)--isolation="default",即Linux命名空間;其他還有process或hyperv
- --label,為生成的鏡像設(shè)置metadata
- --squash,默認(rèn)false。設(shè)置該選項(xiàng),將新構(gòu)建出的多個(gè)層壓縮為一個(gè)新層,但是將無法在多個(gè)鏡像之間共享新層;設(shè)置該選項(xiàng),實(shí)際上是創(chuàng)建了新image,同時(shí)保留原有image。
- --tag, -t,鏡像的名字及tag,通常name:tag或者name格式;可以在一次構(gòu)建中為一個(gè)鏡像設(shè)置多個(gè)tag
- --network,默認(rèn)default。設(shè)置該選項(xiàng),Set the networking mode for the RUN instructions during build
- --quiet, -q ,默認(rèn)false。設(shè)置該選項(xiàng),Suppress the build output and print image ID on success
- --force-rm,默認(rèn)false。設(shè)置該選項(xiàng),總是刪除掉中間環(huán)節(jié)的容器
- --rm,默認(rèn)--rm=true,即整個(gè)構(gòu)建過程成功后刪除中間環(huán)節(jié)的容器
那么我們應(yīng)該怎么使用呢?
- 如果我們當(dāng)前目錄有Dockerfile文件那么使用或者不是當(dāng)前目錄
docker build -t mongo:12.1
docker build -f dockerfile 文件路徑
- 當(dāng)然我們除了本地的文件也可以是遠(yuǎn)程倉庫的路徑,如遠(yuǎn)程URL,Git的倉庫等等。
例子
docker build github.com/creack/docker-firefox
執(zhí)行過程:
Sending build context to Docker daemon 72.19kB
Step 1/7 : from ubuntu:12.04
12.04: Pulling from library/ubuntu
d8868e50ac4c: Pull complete
83251ac64627: Pull complete
589bba2f1b36: Pull complete
d62ecaceda39: Waiting
6d93b41cfc6b: Download complete
今天我們就先了解這三個(gè)命令,嘗試下使用。多多練習(xí),我們才能熟悉這些命令掌握使用。我們下來系列文章還是會(huì)繼續(xù)接著寫下去,大家一起共同學(xué)習(xí)