真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

DockerSystem命令分析

這篇文章主要講解了“Docker System命令分析”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Docker System命令分析”吧!

10多年的荔波網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整荔波建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“荔波網(wǎng)站設(shè)計(jì)”,“荔波網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

該示例通過play-with-docker.com運(yùn)行。點(diǎn)擊Add new  instance即可創(chuàng)建新的實(shí)例,該實(shí)例安裝了***版的Docker 17.03。使用df命令查看磁盤的初始狀態(tài):

$ df -h Filesystem           Size       Used Available Use% Mounted on /dev/mapper/...      10.0G    443.3M      9.6G   4% / tmpfs                60.0G         0     60.0G   0% /dev tmpfs                60.0G         0     60.0G   0% /sys/fs/cgroup /dev/xvda1           49.1G      3.7G     43.3G   8% /etc/resolv.conf /dev/xvda1           49.1G      3.7G     43.3G   8% /etc/hostname /dev/xvda1           49.1G      3.7G     43.3G   8% /etc/hosts shm                  64.0M         0     64.0M   0% /dev/shm /dev/mapper/...      10.0G    443.3M      9.6G   4% /graph/overlay2

可知,在新創(chuàng)建的play-with-docker.com實(shí)例,一共有10GB磁盤空間,其中接近500MB已被占用。

接下來編寫Dockerfile來創(chuàng)建一個(gè)鏡像。這個(gè)鏡像基于Alpine鏡像;鏡像將寫入3個(gè)隨機(jī)的文件,每個(gè)文件1GB,文件由dd命令生成;因?yàn)檫@個(gè)鏡像并沒有實(shí)際作用,因此CMD設(shè)為/bin/true。

FROM alpine RUN dd if=/dev/zero of=1g1.img bs=1G count=1 RUN dd if=/dev/zero of=1g2.img bs=1G count=1 RUN dd if=/dev/zero of=1g3.img bs=1G count=1 CMD /bin/true

運(yùn)行docker build -t test .即可創(chuàng)建鏡像,執(zhí)行完成后將生成一個(gè)3GB的鏡像。

$ docker image ls REPOSITORY          TAG                CREATED             SIZE test                latest             38 seconds ago      3.23GB alpine              latest             5 weeks ago         3.99MB

不難理解,該鏡像占用了相應(yīng)大小的磁盤空間。

$ df -h Filesystem        Size       Used Available Use% Mounted on /dev/mapper/...   10.0G      3.4G      6.5G  34% /

若只寫入2個(gè)隨機(jī)文件,則需要修改Dockerfile,刪掉一行。為了避免構(gòu)建鏡像時(shí)使用緩存,我在dd命令之前添加了一行echo命令。

FROM alpine RUN echo foo RUN dd if=/dev/zero of=1g1.img bs=1G count=1 RUN dd if=/dev/zero of=1g2.img bs=1G count=1 # RUN dd if=/dev/zero of=1g3.img bs=1G count=1 CMD /bin/true

本來以為這樣可以節(jié)省1GB磁盤空間,然而實(shí)際情況更加糟糕!

$ df -h Filesystem        Size       Used Available Use% Mounted on /dev/mapper/...   10.0G      5.4G      4.5G  54% /

舊的Docker鏡像一直存在,最終磁盤空間會很快被用完。Docker 1.13引入了docker system  df命令,類似于Linux上的df命令,用于查看Docker的磁盤使用情況。

$ docker system df TYPE                TOTAL     ACTIVE    SIZE          RECLAIMABLE Images              3         0         5.373GB       5.373GB (100%) Containers          0         0         0B            0B Local Volumes       0         0         0B            0B

可知,實(shí)例上一共有3個(gè)Docker鏡像:  apline鏡像,包含3個(gè)1GB隨機(jī)文件的鏡像以及包含2個(gè)1GB隨機(jī)文件的鏡像。這些鏡像占用了超過5GB磁盤空間。由于我們并沒有基于這些鏡像運(yùn)行容器,所以它們都可以被刪除,所以可回收的(RECLAIMABLE)磁盤空間為100%。使用docker  run test運(yùn)行test鏡像再查看:

$ docker system df TYPE                TOTAL     ACTIVE    SIZE          RECLAIMABLE Images              3         1         5.373GB       3.225GB (60%) Containers          1         0         0B            0B Local Volumes       0         0         0B            0B

現(xiàn)在情況就不同了,我運(yùn)行了一個(gè)容器,它執(zhí)行/bin/true之后就很快退出了。

這個(gè)容器綁定了test鏡像,test鏡像被標(biāo)記為活躍(active)因而不能被刪除,這導(dǎo)致可回收的磁盤空間變少了。

現(xiàn)在來清理一下磁盤空間。

Docker提供了docker system prune,可以用于清理dangling鏡像(參考What are Docker :  images?)和容器,以及失效的數(shù)據(jù)卷和網(wǎng)絡(luò)。

$ docker system prune WARNING! This will remove:         - all stopped containers         - all volumes not used by at least one container         - all networks not used by at least one container         - all dangling images Are you sure you want to continue? [y/N] y Deleted Containers: 1cdf866157b4a97e151125af3c2a7f186a59b6f63807e2014ce1a00d68f44e1d Deleted Images: deleted: sha256:f59bb277... deleted: sha256:695b8e70... deleted: sha256:93b1cceb... deleted: sha256:c74d6bcd... deleted: sha256:df8b9bb1... deleted: sha256:dfe8340f... deleted: sha256:ce1ee654... Total reclaimed space: 3.221GB

根據(jù)警告信息可知,這個(gè)命令會刪除所有關(guān)閉的容器以及dangling鏡像。示例中,含有3個(gè)1GB隨機(jī)文件的鏡像的名稱被占用了,名稱為:,為dangling鏡像,因此會被刪除。同時(shí),所有的中間鏡像也會被刪除。這樣的話,一共3GB的磁盤空間被回收了!

更進(jìn)一步,使用-a選項(xiàng)可以做深度清理。這時(shí)我們會看到更加嚴(yán)重的WARNING信息:

$ docker system prune -a WARNING! This will remove:         - all stopped containers         - all volumes not used by at least one container         - all networks not used by at least one container         - all images without at least one container associated to them Are you sure you want to continue? [y/N] y Deleted Images: untagged: test:latest deleted: sha256:c515ebfa2... deleted: sha256:07302c011... deleted: sha256:37c0c6474... deleted: sha256:5cc2b6bc4... deleted: sha256:b283b9c35... deleted: sha256:8a8b9bd8b... untagged: alpine:latest untagged: alpine@sha256:58e1a1bb75db1... deleted: sha256:4a415e366... deleted: sha256:23b9c7b43... Total reclaimed space: 2.151GB

這個(gè)命令將清理整個(gè)系統(tǒng),并且只會保留真正在使用的鏡像,容器,數(shù)據(jù)卷以及網(wǎng)絡(luò),因此需要格外謹(jǐn)慎。比如,我們不能在生產(chǎn)環(huán)境中運(yùn)行prune  -a命令,因?yàn)橐恍﹤溆苗R像(用于備份,回滾等)有時(shí)候需要用到,如果這些鏡像被刪除了,則運(yùn)行容器時(shí)需要重新下載。

此時(shí),所有未綁定容器的鏡像將會被刪除。由于***次prune命令刪除了所有容器,因此所有鏡像(它們沒有綁定任何容器)都會被刪除。

$ df -h Filesystem          Size      Used Available Use% Mounted on /dev/mapper/...    10.0G    442.5M      9.6G   4% /

感謝各位的閱讀,以上就是“Docker System命令分析”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Docker System命令分析這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!


名稱欄目:DockerSystem命令分析
本文鏈接:http://weahome.cn/article/jicggi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部