精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

5個你必須知道的Docker實用工具

責任編輯:editor007

作者:Shekhar Gulati

2017-05-31 17:27:31

摘自:CSDN

Watchtower本身會打包成Docker映像,所以您可以運行它,就像運行任何其他容器一樣。上述命令的輸出如下:  如果您還想使用docker-gc清理,則可以再次運行沒有DRY_RUN標志的docker-gc來執(zhí)行清理。

原標題:5個你必須知道的Docker實用工具

作者 | Shekhar Gulati

翻譯 | Vincent

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

你在網(wǎng)上能找到很多酷炫的Docker工具。絕大多數(shù)是開源的。

過去兩年,我已經(jīng)積極地將Docker用到我的對大多數(shù)開發(fā)項目中。在你開始使用Docker的時候,你會發(fā)現(xiàn),在很多用例里它比你預想的更加適用。

你會希望Docker為你做得更多,而且它不會讓你失望!

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

讓我們來看看我在使用Dockerize工具的過程中發(fā)現(xiàn)的每個工具。

1. watchtower:自動更新Docker容器

Watchtower監(jiān)視運行中的容器,以便于對容器最初的鏡像進行更改。當Watchtower檢測到鏡像發(fā)生改變時,會自動使用新的鏡像重啟容器。

我在本地開發(fā)中想要創(chuàng)建新的鏡像就會使用它。

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

在上面的命令中,我們啟動了一個帶有掛載文件/var/run/docker.sock . 的Watchtower容器。這個步驟是必須的,通過設(shè)置30秒的時間間隔選項,為了能夠讓Watchtower可以和Docker守護進程API進行交互。這個時間定義了Watchtower

的輪詢時間。Watchtower里面有很多的這樣的選項設(shè)置,你可以按照文檔所述使用它們。

現(xiàn)在我們就開始讓Watchtower去監(jiān)視一個容器:

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

默認情況下,Watchtower將輪詢Docker Hub注冊表以查找更新的鏡像。您可以通過將注冊表憑據(jù)傳遞給環(huán)境變量REPO_USER和REPO_PASS來配置Watchtower,讓它去輪詢私有注冊表。要了解更多關(guān)于Watchtower的信息,我建議您去查看Watchtower文檔(https://github.com/v2tec/watchtower/blob/master/README.md)。

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

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

鏡像。

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

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

如果您還想使用docker-gc清理,則可以再次運行沒有DRY_RUN標志的docker-gc來執(zhí)行清理。

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

docker-gc支持的選項還有其他幾個。我建議您閱讀docker-gc文檔(https://github.com/spotify/docker-gc/blob/master/README.md)以了解更多信息。

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

如果擔心Docker鏡像的大小,docker-slim將會解決您的擔憂。

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

我創(chuàng)建了一個Docker圖像,例如:使用在Docker官方文檔(https://docs.docker.com/get-started/)中的應用程序friendlyhello。正如你下面所看到的鏡像的大小是194MB。

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

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

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

嘗試一下,看看你有沒有收獲。在我的個人項目中,我發(fā)現(xiàn)它在大多數(shù)情況下都有效。

您可以從其文檔(https://github.com/docker-slim/docker-slim/blob/master/README.md)中了解更多關(guān)于docker-slim的信息。

4. rocker:打破Dockerfile的限制

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

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

他們在帖子中強調(diào)的兩個問題是:

Docker鏡像的大小。

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

博客還提到了Rocker添加的一些新指令。請參閱Rocker文檔(https://github.com/grammarly/rocker/blob/master/README.md),了解Rocker支持的所有說明。

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

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

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

PUSH用于將鏡像推送到注冊表。

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

要使用Rocker,您必須將它安裝在你的機器上。對于Mac用戶來說,就像運行幾個brew命令一樣簡單:

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

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

Rocker有一套很好的功能。 要了解更多信息,請參閱其文檔(https://github.com/grammarly/rocker/blob/master/README.md)。

5. ctop:容器頂部接口

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

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

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

ctop是一個簡單的實用程序,非常有用,可以了解在主機上運行的容器。您可以在ctop文檔(https://github.com/bcicen/ctop/blob/master/README.md)中閱讀更多信息。

文中涉及工具官網(wǎng)等鏈接請點擊「閱讀原文」查看。

責任編輯:

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 临洮县| 苍溪县| 常山县| 萍乡市| 彭泽县| 富民县| 密山市| 新乡县| 共和县| 枞阳县| 乐陵市| 德庆县| 东宁县| 佛冈县| 贵溪市| 金溪县| 万荣县| 托克逊县| 海林市| 喀喇| 墨玉县| 西峡县| 界首市| 黔西县| 固阳县| 四川省| 张家口市| 资兴市| 嘉鱼县| 静宁县| 滨海县| 兰西县| 安福县| 娱乐| 咸宁市| 海口市| 阿荣旗| 聂荣县| 山东省| 惠水县| 寻甸|