久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    五個(gè)你應(yīng)該知道的Docker實(shí)用工具!

     黃爸爸好 2020-01-16

    作者:Shekhar Gulati 

    翻譯:Vincent

    原文:https://blog./2017/05/18/5-docker-utilities-you-should-know/

    網(wǎng)上有很多不錯(cuò)的Docker工具,大部分在GitHub上都是開源的。最近兩年,我一直在使用Docker,并將其應(yīng)用到了一些開發(fā)項(xiàng)目上。如果你剛開始使用Docker,你會(huì)發(fā)現(xiàn)它能應(yīng)用到的實(shí)例遠(yuǎn)遠(yuǎn)多于預(yù)想。Docker能為你做更多,不會(huì)讓你失望的!

    Docker社區(qū)非常活躍,每天都有許多新的實(shí)用工具出現(xiàn)。因此,天天去檢查更新,試圖跟上社區(qū)的步伐確實(shí)有點(diǎn)困難。所以我在此分享在工作中收集到的一些有趣而實(shí)用的Docker工具,幫助大家提高日常工作效率。

    下面開始一一介紹我在使用Docker的過程中找到的有用工具吧。

    1. Watchtower:自動(dòng)更新Docker容器

    Watchtower監(jiān)視容器運(yùn)行過程,并且能夠捕捉到容器中的變化。當(dāng)Watchtower檢測(cè)到有鏡像發(fā)生變化,會(huì)自動(dòng)使用新鏡像重啟容器。我在本地開發(fā)環(huán)境中創(chuàng)建的最后一個(gè)鏡像就用到了Watchtower。

    Watchtower本身就像一個(gè)Docker鏡像,所以它啟動(dòng)容器的方式和別的鏡像無異。運(yùn)行Watchtower的命令如下:

    上面的代碼中,我們用到了一個(gè)安裝文件/var/run/docker.sock。這個(gè)文件主要用來使Watchtower與Docker后臺(tái)API交互。interval30秒的選項(xiàng)主要用來定義Watchtower的輪詢間隔時(shí)間。Watchtower還支持一些別的選項(xiàng),具體可以查看他們的文檔(http:///65nl1Z)。

    現(xiàn)在,開啟一個(gè)容器,用Watchtower來監(jiān)控。

    Watchtower會(huì)開始監(jiān)控friendlyhello容器。接下來我把新鏡像push到Docker Hub,Watchtower接下來就會(huì)檢測(cè)到有新鏡像可用。它會(huì)關(guān)掉容器,然后用新鏡像重啟容器。這里會(huì)用到我們剛剛傳到運(yùn)行命令中的選項(xiàng),換句話說,容器會(huì)在4000:80 公共端口選項(xiàng)上開啟。

    默認(rèn)情況下,Watchtower會(huì)輪詢Dockder Hub注冊(cè)表查找更新的鏡像。你也可以通過在環(huán)境變量REPO_USER和REPO_PASS中添加指定注冊(cè)表證書,來設(shè)置Watchtower輪詢私有注冊(cè)表。

    了解更多Watchtower的用法,我推薦Watchtower文檔(http:///65mKVS)。
    2. docker-gc:收集垃圾容器和鏡像

    docker-gc工具能夠幫助Docker host清理不需要的容器和鏡像。它可以刪除存在一小時(shí)以上的容器。同時(shí),它也可以刪除沒有容器的鏡像。

    docker-gc可以被當(dāng)做腳本,也可以被視為容器。我們用容器方法運(yùn)行docker-gc,用它來查找可以被刪除的容器和鏡像。

    在上述命令中,我們安裝Docker socket文件,這樣docker-gc就可以和Docker API進(jìn)行交互。設(shè)置環(huán)境變量DRY_RUN=1,查找可被刪除的容器和鏡像。如果我們不這樣設(shè)置,docker-gc直接刪除它們。所以在刪除之前,還是先確認(rèn)一下。以上代碼的輸出結(jié)果如下:

    確認(rèn)需要?jiǎng)h除的容器和鏡像之后,再次運(yùn)行docker-gc來進(jìn)行刪除清理,這次就不用再設(shè)置DRY_RUN參數(shù)了。

    上述命令運(yùn)行后的輸出會(huì)告訴你哪些容器和鏡像已經(jīng)被docker-gc刪除。
    了解更多docker-gc支持的選項(xiàng),我推薦閱讀docker-gc documentation(http:///65nnWn)。
    3. docker-slim:給你的容器瘦身

    如果你對(duì)Docker鏡像的大小有過擔(dān)憂,docker-slim絕對(duì)是一丸靈丹妙藥。

    docker-slim工具可以通過靜態(tài)和動(dòng)態(tài)分析,針對(duì)你的“胖鏡像”創(chuàng)建對(duì)應(yīng)的“瘦鏡像”。在GitHub( http:///65nobo)上下載二進(jìn)制文件,即可使用docker-slim。該二進(jìn)制文件在Linux和Mac可用。下載之后添加到路徑PATH。

    我創(chuàng)建了一個(gè)Docker鏡像示例應(yīng)用“friendlyhello”,Docker官方文檔中有用到。這個(gè)鏡像的大小如下圖所示,194MB。

    這么簡單的一個(gè)應(yīng)用,我們就要下載194MB的數(shù)據(jù)。再來看看docker-slim究竟能讓它“瘦”多少。

    docker-slim工具先是對(duì)“胖鏡像”進(jìn)行一系列的檢測(cè),最終創(chuàng)建了對(duì)應(yīng)的“瘦鏡像”。看一下“瘦鏡像”的大小:

    正如上圖所示,“瘦鏡像”大小為24.9MB。開啟容器,運(yùn)行照舊。docker-slim對(duì)Java、Python、Ruby和Node.js應(yīng)用都非常友好。

    你自己也試一下吧,看看結(jié)果如何。以我個(gè)人的項(xiàng)目來說,我認(rèn)為docker-slim在大部分情況下都能適用。閱讀docker-slim文檔(http:///65noSb)了解更多。

    4. Rocker:打破Dockerfile限制

    很多Docker用戶都用Dockerfile來構(gòu)建鏡像。Dockerfile是定義命令的聲明方式,通過在命令行調(diào)用這些命令,可以對(duì)鏡像進(jìn)行操作。

    Rocker給Dockerfile的指令集增加了新的指令。Rocker是由Grammaryly創(chuàng)建的,原意是用來解決Dockerfile格式的問題。Grammaryly團(tuán)隊(duì)寫過一篇博客(http:///RSYSaCF)解釋當(dāng)初的動(dòng)機(jī)。我建議你也看一下這篇博客,可以更好的理解Rocker。他們?cè)诓┛椭刑岢龅膬蓚€(gè)關(guān)鍵問題是:

    • Docker鏡像的大小

    • 構(gòu)建速度緩慢

    博客還提到了Rocker添加的一些新指令。查看Rocker文檔(http:///RSYSNYp)了解更多。

    • MOUNT用來分享volume,這樣依賴管理工具就可以重用。

    • FROM指令在Dockerfile中也存在。Rocker添加了不止一條FROM指令。這就意味著,一個(gè)Rockerfile可以通過創(chuàng)建多個(gè)鏡像。首個(gè)指令集使用所有依賴來創(chuàng)建artifact,第二個(gè)指令集可以使用已有的artifact。這種做法極大的降低了鏡像的大小。

    • TAG用來標(biāo)記處于不同構(gòu)建階段的鏡像。這樣一來就不在需要手動(dòng)標(biāo)記鏡像了。

    • PUSH用來把鏡像push到registry。

    • ATTACH用來和中間步驟交互,在debug的時(shí)候非常有用。

    安裝rocker,對(duì)Mac用戶來說,只要運(yùn)行幾條brew命令就行了:

    安裝完成后,就可以使用rocker創(chuàng)建鏡像。

    創(chuàng)建鏡像并將其push到Docker Hub,可以用下面這條命令:

    Rocker功能十分完備,了解更多,請(qǐng)參閱其文檔(http:///RSYSNYp)。
    5. ctop:容器的頂層界面工具

    ctop是我最近才開始使用的工具,它可以為多個(gè)容器提供實(shí)時(shí)顯示的數(shù)據(jù)視圖。如果你是Mac用戶,可以按下面的命令安裝ctop。

    安裝之后,只需配置DOCKER_HOST環(huán)境變量,即可使用ctop。

    運(yùn)行ctop命令,可以查看所有容器的狀態(tài)。

    運(yùn)行ctop-a命令,可以僅查看當(dāng)前運(yùn)行的容器。

    ctop簡單好用,查看機(jī)器上運(yùn)行的容器非常方便。了解更多,請(qǐng)看ctop文檔(http:///RSYSQuS)。

    以上,就是我覺得比較有用的Docker工具了。


      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多

      主站蜘蛛池模板: 国产成人久久精品一区二区三区 | 免费无码观看的AV在线播放| 亚洲一区二区精品极品| 无码乱码AV天堂一区二区| 香蕉影院在线观看| 中文字幕无码av不卡一区| 国产精品高清中文字幕| 久久天天躁狠狠躁夜夜婷 | av一区二区中文字幕| XXXXXHD亚洲日本HD| 日本高清视频色WWWWWW色| 在线观看热码亚洲AV每日更新| 日本一卡二卡3卡四卡网站精品| 精品人妻中文字幕在线| 国产久免费热视频在线观看| 天堂久久久久VA久久久久| 肉大捧一进一出免费视频| 成人午夜激情在线观看| 换着玩人妻中文字幕| 同桌上课脱裙子让我帮他自慰| 国产亚洲精品VA片在线播放 | 国产偷窥熟女高潮精品视频| 国产精品人妻中文字幕| 狠狠色狠狠色综合网| 日韩精品国产中文字幕| 国产精品久久久久免费观看 | 又粗又紧又湿又爽的视频| 亚洲国产精品成人网址| 日本一高清二区视频久二区| 体验区试看120秒啪啪免费| 天天做天天爱夜夜爽导航| 高清看男人插曲女人视频| 亚洲国产良家在线观看| 波多野结衣AV一区二区全免费观看| 日本高清在线观看WWW色| 久久精品国产亚洲AV无码偷窥| 亚洲国产福利成人一区二区| 中国女人高潮hd| AAA级久久久精品无码片| 日本一区不卡高清更新二区| 无码人妻丝袜在线视频|