ai杨幂在线被弄得高潮_亚洲国产精品大学美女久久久爽_67194国产精品_一级特黄a视频_他扯开我的奶罩一摸就流水_亚洲国产aaa_午夜爽爽男女免费观看hd_少妇bb搡_麻豆电影在线播放_午夜爽爽爽男女免费观看hd

5個(gè)你必須知道的Docker實(shí)用工具

來(lái)源:CSDN

Docker社區(qū)已經(jīng)創(chuàng)建了許多開(kāi)源的工具,更多的用例使得它比您想像的更有用。你可以在這里查閱它們。

你在網(wǎng)上能找到很多酷炫的Docker工具。絕大多數(shù)是開(kāi)源的。 過(guò)去兩年,我已經(jīng)積極地將Docker用到我的對(duì)大多數(shù)開(kāi)發(fā)項(xiàng)目中。在你開(kāi)始使用 Docker的時(shí)候,你會(huì)發(fā)現(xiàn),它比你預(yù)想的更加適用在很多用例里。 你會(huì)希望Docker為你做的更多,而且它不會(huì)讓你失望!

Docker社區(qū)非?;钴S,每天都有很多有用的工具。在這個(gè)社區(qū)你很難知道哪些發(fā)生了革新。為了幫助你,我已經(jīng)收集了我日常工作中用到的很有趣很實(shí)用的Docker工具。這些讓我工作更加高效,消除了很多的手動(dòng)工作。

讓我們來(lái)看看我在使用Dockerize工具的過(guò)程中發(fā)現(xiàn)的每個(gè)工具。

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

Watchtower監(jiān)視運(yùn)行中的容器,以便于對(duì)容器最初的鏡像進(jìn)行更改。當(dāng)Watchtower檢測(cè)到鏡像發(fā)生改變時(shí),會(huì)自動(dòng)使用新的鏡像重啟容器。
我在本地開(kāi)發(fā)中想要?jiǎng)?chuàng)建新的鏡像就會(huì)使用它。

Watchtower本身會(huì)打包成Docker映像,所以您可以運(yùn)行它,就像運(yùn)行任何其他容器一樣。當(dāng)你要運(yùn)行Watchtower,您將會(huì)用到下面的指令:

在上面的命令中,我們啟動(dòng)了一個(gè)帶有掛載文件/var/run/docker.sock . 的Watchtower容器。這個(gè)步驟是必須的,通過(guò)設(shè)置30秒的時(shí)間間隔選項(xiàng),為了能夠讓W(xué)atchtower可以和Docker守護(hù)進(jìn)程API進(jìn)行交互。這個(gè)時(shí)間定義了Watchtower
的輪詢(xún)時(shí)間。Watchtower里面有很多的這樣的選項(xiàng)設(shè)置,你可以按照文檔所述使用它們。

現(xiàn)在我們就開(kāi)始讓W(xué)atchtower去監(jiān)視一個(gè)容器:

Watchtower將要開(kāi)始監(jiān)視friendlyhello這個(gè)容器。當(dāng)我將新的鏡像推送到Docker Hub時(shí),Watchtower將在下一次運(yùn)行時(shí)檢測(cè)到有新的鏡像可用,它將停止容器,并使用新的鏡像啟動(dòng)容器,它會(huì)傳遞給我們運(yùn)行命令行時(shí)的選項(xiàng)設(shè)置。換句話(huà)說(shuō),容器將以4000:80端口啟動(dòng)。

默認(rèn)情況下,Watchtower將輪詢(xún)Docker Hub注冊(cè)表以查找更新的鏡像。您可以通過(guò)將注冊(cè)表憑據(jù)傳遞給環(huán)境變量REPO_USER和REPO_PASS來(lái)配置Watchtower,讓它去輪詢(xún)私有注冊(cè)表。要了解更多關(guān)于Watchtower的信息,我建議您去查看Watchtower文檔。

2、docker-gc:容器和鏡像的垃圾回收

docker-gc實(shí)用程序會(huì)幫助你清理Docker主機(jī),去除那些沒(méi)用的容器和鏡像文件。它會(huì)刪除一個(gè)多小時(shí)前存在的所有容器。此外,它還會(huì)刪除不屬于任何剩余容器的
鏡像。

您可以將docker-gc用作腳本和容器。我們將運(yùn)行docker-gc作為容器,用它來(lái)找到所有將要被刪除的容器和鏡像。

在上面顯示的命令中,我們安裝了Docker套接字文件,以便docker-gc可以與Docker API進(jìn)行交互。我們?cè)O(shè)置一個(gè)環(huán)境變量DRY_RUN = 1,以查找哪些容器和鏡像將被刪除。如果我們沒(méi)有設(shè)置這個(gè)選項(xiàng),docker-gc會(huì)將他們?nèi)縿h除。這首先就驗(yàn)證了docker-gc清理的很好。上述命令的輸出如下:

如果您還想使用docker-gc清理,則可以再次運(yùn)行沒(méi)有DRY_RUN標(biāo)志的docker-gc來(lái)執(zhí)行清理。

上述命令的輸出將告訴您docker-gc刪除的所有鏡像和容器。

docker-gc支持的選項(xiàng)還有其他幾個(gè)。我建議您閱讀docker-gc文檔以了解更多信息。

3、docker-slim:容器的魔法丸

如果擔(dān)心Docker鏡像的大小,docker-slim將會(huì)解決您的擔(dān)憂(yōu)。

docker-slim實(shí)用程序使用靜態(tài)和動(dòng)態(tài)分析來(lái)將大的鏡像轉(zhuǎn)變?yōu)榭s略的鏡像。要使用docker-slim,您必須從Github下載其二進(jìn)制文件。二進(jìn)制文件可用于Linux和Mac。下載二進(jìn)制文件后,將其添加到PATH中。

我創(chuàng)建了一個(gè)Docker圖像,例如:使用在Docker官方文檔中的應(yīng)用程序friendlyhello。正如你下面所看到的鏡像的大小是194MB。

您可以看到一個(gè)簡(jiǎn)單的應(yīng)用程序,我們必須下載194 MB的數(shù)據(jù)。讓我們用docker-slim來(lái)看看它可以去除多少多余的東西。

docker-slim實(shí)用程序?qū)?zhí)行一系列步驟 -檢查、分析較大的鏡像,最終創(chuàng)建一個(gè)縮略版本的鏡像。我們來(lái)看下這個(gè)縮略版的大小。

正如你上面看到的,這個(gè)鏡像的大小被所縮減到24.9MB。您可以啟動(dòng)容器,并以相同的方式運(yùn)行。docker-slim實(shí)用程序適用于Java,Python,Ruby和Node.js應(yīng)用程序。

嘗試一下,看看你有沒(méi)有收獲。在我的個(gè)人項(xiàng)目中,我發(fā)現(xiàn)它在大多數(shù)情況下都有效。
您可以從其文檔中了解更多關(guān)于docker-slim的信息。

4、rocker:打破Dockerfile的限制

大多數(shù)使用Docker的開(kāi)發(fā)人員使用Dockerfile構(gòu)建鏡像。Dockerfile是一種聲明式的方式來(lái)定義用戶(hù)可以在命令行中調(diào)用的所有命令,以便組裝鏡像。

Rocker向Dockerfile指令集添加了新的指令。 Rocker是由Grammarly創(chuàng)建的,用于解決Dockerfile格式所面臨的問(wèn)題。Grammarly團(tuán)隊(duì)寫(xiě)了一篇深入博客,解釋了創(chuàng)建它的原因。我建議你閱讀它,以更好地了解Rocker。

他們?cè)谔又袕?qiáng)調(diào)的兩個(gè)問(wèn)題是:

1、Docker鏡像的大小。

2、構(gòu)建速度緩慢。

博客還提到了Rocker添加的一些新指令。請(qǐng)參閱Rocker文檔,了解Rocker支持的所有說(shuō)明。

1、MOUNT用于在構(gòu)建之間共享卷,以便它們可以重用依賴(lài)關(guān)系管理工具。

2、在Dockerfile中也存在FROM指令。Rocker可以添加多個(gè)FROM指令。這意味著您可以從單個(gè)Rockerfile創(chuàng)建多個(gè)鏡像,第一組指令將使用所有依賴(lài)關(guān)系構(gòu)建工件。
第二組指令可以使用構(gòu)建工件,這大大降低了鏡像的大小。

3、TAG用于構(gòu)建不同階段標(biāo)記鏡像,這意味著您不必手動(dòng)標(biāo)記鏡像。

4、PUSH用于將鏡像推送到注冊(cè)表。

5、ATTACH允許您以交互方式運(yùn)行中間步驟,這對(duì)調(diào)試非常有用。

要使用Rocker,您必須將它安裝在你的機(jī)器上。對(duì)于Mac用戶(hù)來(lái)說(shuō),就像運(yùn)行幾個(gè)brew命令一樣簡(jiǎn)單:

一旦安裝,您可以使用Rocker通過(guò)將其傳遞給Rockerfile來(lái)構(gòu)建鏡像:

要構(gòu)建映像并將其推送到Docker Hub,可以運(yùn)行以下命令:

Rocker有一套很好的功能。 要了解更多信息,請(qǐng)參閱其文檔

5、ctop:容器頂部接口

最近我開(kāi)始使用的實(shí)用程序是ctop,它提供了多個(gè)容器的實(shí)時(shí)度量視圖。如果你是一個(gè)mac用戶(hù),那么你可以使用brew安裝ctop,如下所示。

一旦安裝,您可以開(kāi)始使用ctop。它只需要配置DOCKER_HOST環(huán)境變量。要查看所有容器的狀態(tài),可以運(yùn)行ctop命令。

要僅查看正在運(yùn)行的容器,可以使用ctop -a命令。

ctop是一個(gè)簡(jiǎn)單的實(shí)用程序,非常有用,可以了解在主機(jī)上運(yùn)行的容器。您可以在ctop文檔中閱讀更多信息。

免責(zé)聲明:以上內(nèi)容為本網(wǎng)站轉(zhuǎn)自其它媒體,相關(guān)信息僅為傳遞更多信息之目的,不代表本網(wǎng)觀點(diǎn),亦不代表本網(wǎng)站贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性。