摘要:容器鏡像同樣作為開發人員或是運維人員的產出物,對其進行審查也是必要的。這件事宜早不宜遲,對于企業與個人而言均百利而無一害。
本文節選自我的博客文章:構建可靠、安全、最小化的 Docker 鏡像: 原理與實踐.
正如Code Review一樣,代碼審查可以大大提升企業項目的質量。容器鏡像同樣作為開發人員或是運維人員的產出物,對其進行審查也是必要的。
雖然我們可以通過docker命令結合文件系統瀏覽的方式進行容器鏡像的審查,但其過程需要人工參與,很難做到自動化,更別提將鏡像審查集成到CI過程中了。但一個好的工具可以幫我們做到這點。
向大家推薦一個非常棒的開源項目dive,具體安裝請參考其項目頁。它不但可以方便我們查詢具體鏡像層的詳細信息,還可以作為CI持續集成過程中的鏡像審查之用。使用它可以大大提升我們審查鏡像的速度,并且可以將這個過程做成自動化。
該項目的具體動態操作圖示如下:
如果作為鏡像審查之后,可以進行如下命令操作:
$: CI=true diveFetching image... (this can take a while with large images) Parsing image... Analyzing image... efficiency: 95.0863 % wastedBytes: 671109 bytes (671 kB) userWastedPercent: 8.2274 % Run CI Validations... Using default CI config PASS: highestUserWastedPercent SKIP: highestWastedBytes: rule disabled PASS: lowestEfficiency
從輸出信息可以得到很多有用的信息,集成到CI過程也就非常容易了。 dive本身就提供了.dive-ci作為項目的CI配置:
rules: # If the efficiency is measured below X%, mark as failed. # Expressed as a percentage between 0-1. lowestEfficiency: 0.95 # If the amount of wasted space is at least X or larger than X, mark as failed. # Expressed in B, KB, MB, and GB. highestWastedBytes: 20MB # If the amount of wasted space makes up for X% or more of the image, mark as failed. # Note: the base image layer is NOT included in the total image size. # Expressed as a percentage between 0-1; fails if the threshold is met or crossed. highestUserWastedPercent: 0.20
集成到CI中,增加以下命令即可:
$: CI=true dive
鏡像審查和代碼審查類似,是一件開始抵制,開始后就欲罷不能的事。這件事宜早不宜遲,對于企業與個人而言均百利而無一害。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27905.html
摘要:文章主要講了為什么要搭建私有網盤,以及如何用搭建。一石激起千層浪,關于如何選擇網盤,如何應對網盤關閉的討論一下子又變得此起彼伏。搭建一個只屬于自己的網盤所以我決定搭建一個只屬于自己的網盤。搭建方法首先你得先有一個自己的。。 文章主要講了為什么要搭建私有網盤,以及如何用 docker + ownCloud 搭建。原文地址:http://geekplux.com/2016/10/2... ...
摘要:中國論壇提案征集月日截止論壇讓用戶開發人員從業人員匯聚一堂,面對面進行交流合作。贊助方案出爐多元化獎學金現正接受申請即將首次合體落地中國 2月11日早上有宣布關于runc中的容器逃逸漏洞。我們希望為Kubernetes用戶提供一些指導,以確保每個人都安全。 Runc是什么? 簡單來說,runc是一個低層工具,它負責大量生成Linux容器。Docker、Containerd和CRI-O等...
由于容器虛擬化技術可以充分利用硬件資源,對于開發團隊就像夢想照進了現實。盡管容器化沒有推翻虛擬機在企業應用開發和部署上的地位,但是Docker等工具在實現開發、測試和部署大規?,F代軟件的速度和敏捷性方面大展身手。Docker容器具有諸多優點:無需復雜的hypervisor、可移植性、資源隔離性、輕量級、開放標準、完美適應微服務架構。眾多的應用通過容器隔離起來,相互獨立地運行在同一臺宿主機上,哪家公...
摘要:軟件供應鏈幾乎跟實際產品的供應鏈是相同的。確保軟件供應鏈也十分相似。確保該掃描不止一次地發生,并在爆出新漏洞時,及時通知使用鏡像的系統管理員或應用程序開發者。結論在軟件生命周期的每個環節,平臺都允許企業將安全納入其中。 在Docker內部,我們花了很多時間討論一個話題:如何將運行時安全和隔離作為容器架構的一部分?然而這只是軟件流水線的一部分。 我們需要的不是一次性的標簽或設置,而是需要...
摘要:本文將在安裝好的環境下使用命令行客戶端開始學習常用指令。鏡像常用操作羅列鏡像這時只看到列表標題,并沒有內容。最后給出了所有的的命令清單。以為基礎框架,為數據訪問層,為權限授權層,對常用數據進行緩存,基于構建的作為前端框架。 回顧:上一文對Docker做了一些介紹,解釋了相關概念,如Docker客戶端等,還通過對比Docker與虛擬機的差別了解到Docker的優勢與特點。最后介紹了Doc...
閱讀 1067·2021-11-23 09:51
閱讀 2412·2021-09-29 09:34
閱讀 3149·2019-08-30 14:20
閱讀 1043·2019-08-29 14:14
閱讀 3182·2019-08-29 13:46
閱讀 1076·2019-08-26 13:54
閱讀 1633·2019-08-26 13:32
閱讀 1425·2019-08-26 12:23